JSP

一、简介

  • JSP Java Server Pages,动态web技术。
  • web服务器中通过转为Servlet来调用

二、基本使用

2.1 JSP 表达式

语法: <%= 变量或表达式 %>
<%= new java.util.Date() %>

2.2 JSP 脚本片段

语法:

<%
 多行java代码
 %>
//在<% %>中可以定义变量、编写语句,不能定义方法。

<%
    int sum=0;//声明变量

    /*编写语句*/
    for (int i=1;i<=100;i++){
        sum+=i;
    }
    out.println("<h1>Sum="+sum+"</h1>");
%>
<%
    int x = 10;
    out.println(x);
%>
<p>这是JSP页面文本</p>
<%
    int y = 20;
    out.println(y);
%>

单个脚本片断中的Java语句可以是不完整的,但是,多个脚本片断组合后的结果必须是完整的Java语句

<%
    for (int i=1; i<5; i++) 
    {
%>
    <H1>http://localhost:8080/JavaWeb_Jsp_Study_20140603/</H1>
<%
    }
%>

2.3 JSP 声明

JSP页面中编写的所有代码,默认会翻译到servlet的service方法中, 而Jsp声明中的java代码被翻译到_jspService方法的外面。
所以,JSP声明可用于定义JSP页面转换成的Servlet程序的静态代码块、成员变量和方法 。
  多个静态代码块、变量和函数可以定义在一个JSP声明中,也可以分别单独定义在多个JSP声明中。
  JSP隐式对象的作用范围仅限于Servlet的_jspService方法,所以在JSP声明中不能使用这些隐式对象。

<%!
static { 
    System.out.println("loading Servlet!"); 
}

private int globalVar = 0;

public void jspInit(){
    System.out.println("initializing jsp!");
}
%>

<%!
public void jspDestroy(){
    System.out.println("destroying jsp!");
}
%>

2.4 JSP注释

显式注释:直接使用HTML风格的注释:<!- - 注释内容- ->

隐式注释:直接使用JAVA的注释://、/……/

JSP自己的注释:<%- - 注释内容- -%>

注: 显式和隐式,注释内容不能包括jsp语法的一些关键字。



PS1:关于jsp路径获取以及页面跳转
JSP常用跳转方式
getRequestDispatcher 和sendRedirect区别及路径问题
JSP页面跳转的几种实现方法
JSP中获取各种路径的方法
PS2:jsp 中session & cookie,session会在JSP中默认,也可以自己在page中配置
jsp中cookie与session等自己总结精华
关于jsp内置对象Session和Cookie使用的肤浅理解,如何使用Session来统计网站在线人数

推荐阅读更多精彩内容