2.1 JSP页面的基本结构
a.普通的HTML标记符
b.JSP标签
c.变量和方法的声明
e.Java程序片
f.Java表达式
后三部分为JSP的脚本部分。
2.2变量和方法的声明
2.2.1 声明变量
在"<%!"和"%>"标记符之间声明变量 ,在这之间声明的变量在整个JSP页面内都有效,将这些变量作为类的成员变量。因此任何一个用户对JSP页面成员变量操作的结果,都会影响到其他用户。
2.2.2声明方法
在"<%!"和"%>"之间声明方法,当多个客户同时请求一个JSP页面时,他们可能使用方法操作成员变量,这时可能需要用到synchronized方法。
2.2.3声明类
在"<%!"和"%>"之间声明一个类,JSP页面的Java程序片部分可以使用该类创建对象,
2.3Java程序片
可以在"<%"和"%>"之间插入Java程序片。在一个程序片中声明的变量称作局部变量,当多个用户请求一个JSP页面时,JSP引擎为每一个客户启动一个线程,每个客户的局部变量被分配不同的内存空间。
2.4表达式
可以在"<%="和"%>"之间插入一个表达式(不可插入语句),这个表达式必须能求值。表达式的值由服务器负责计算,并将结果以字符串形式发送到客户端显示。
2.5JSP中的注释
a.HTML注释
在标记符号"<!--"和"-->"之间加入注释内容:
<!-- 注释内容 -->
客户通过浏览器查看JSP的源文件时,能够看到HTML注释
b.JSP注释
在标记符号"<%--"和“--%>"之间加入注释内容:
在编译JSP页面时忽略JSP注释。
2.6 JSP指令标签
2.6.1 page指令
用来定义整个JSP页面的一些属性和这些属性的值。
格式: <%@ page 属性1="属性1的值" 属性2="属性2的值" %>
属性值总是用单引号或双引号括起来。 page指令只能给import属性指定多个值,其他属性只能指定一个值。
a. language属性
若JSP页面中没有使用page指令指定该属性的值,那么JSP页面默认有 :<%@ page language="java" %>
b. import属性
该属性的作用是为JSP页面引入Java核心包中的类,
格式:<%@ page import="java.io.*" ,"java.util.Date" %>
c. contentType属性
定义JSP页面响应的MIME类型和JSP页面字符的编码。 属性值的一般形式是“MIME类型”或“MIME类型; charset=编码"
例如: <%@ page contentType="text/html;charset=GB2312" %>
contentType 属性默认值为text/html;charset=ISO-8859-1;
d. session属性
用于设置是否使用内置的session对象。
属性值可以是true或false 。默认值true。
e. buffer属性
内置输出流对象out负责将服务器的某些信息或运行结果发送到客户端显示,buffer属性用来指定out设置的缓冲区的大小或不使用缓冲 区。
属性可以取none,设置不使用缓冲区。buffer属性的默认值是8kb。
f. auotFlush属性
指定out的缓冲区被填满,缓冲区是否自动刷新。
默认值为true
g. isThreadSafe属性
用来设置JSP页面是否可以多线程访问。默认为true。 当为true时,JSP页面能同时响应多个客户的请求,当为false时,JSP页面同时 只能处理响应一个客户的请求,其他客户必须排队等待。
2.6.2 include指令标签
若需要在JSP页面内某处整体嵌入一个文件,可用该标签。
语法:<%@ include file="文件的名字" %>
两个页面合成后必须能成为一个新的JSP页面。
2.7 JSP动作标签
2.7.1 I nclude动作标签
该动作标签告诉JSP页面动态包含一个文件,即JSP页面运行时才将文件加入。
include动作标签和include指令标签不同 include动作标签在jsp页面运行时才将文件加入。
动作标签是运行时才对包含的文件进行处理,因此jsp页面和它所包含的文件在逻辑和语法上是独立的,若对包含的文件进行了修改,那么运 行时将会看到所包含文件修改后的结果。
静态include指令包含的文件如果发生变化,必须重 新将jsp页面转译成java文件(可将jsp页面重新保存,然后在访问,就可以产生新的转译java 文件) 否则只能看到修改之前的内容。
2.7.2 param动作标签
以”名字-值"对的形式为其他标签提供附加信息,这个标签与jsp:include、jsp:forward、jsp:plugin标签一起使用。
格式: <jsp:param name="名字" value="指定给param的值" />
2.7.3 forward动作标签
从该指令处停止当前页面的继续执行,而转向其他的一个JSP页面。
格式: <jsp:forward page="要转向的页面" >
</jsp:forward>
或
<jsp:forward page="要转向的页面" />
该指令也可以结合param指令,向要转到的页面传送信息。
2.7.4 plugin动作标签
不是所有的客户的浏览器都支持Java applet小程序。使用plugin动作标签可以保证客户能执行小程序。
2.7.5 useBean动作标签
用来创建并使用JavaBean。