前言
本章主要内容为:jsp页面的基本结构、声明变量和定义方法、java程序片、java表达式、jsp指令标记、jsp动作标记。
提示:以下是本篇文章正文内容,下面案例可供参考
一、JSP页面的基本结构
(1)、一个JSP页面可由以下五种元素组合而成:
1、普通的HTML标记和JavaScript标记。
2、JSP标记,如指令标记、动作标记。
3、变量和方法的声明。
4、java程序片。
5、java表达式。
(2)、当tomcat服务器上的一个JSP页面被第一个请求执行时,Tomcat服务器首先将JSP页面文件转译成一个java文件,再将这个java文件编译生成字节码文件,然后通过执行字节码文件响应用户的请求。
这个字节码文件的任务就是:
1、把JSP页面中的普通的HTML标记和JavaScript标记交给用户端浏览器执行显示。
2、JSP标记、方法的定义、java程序片由服务器负责处理和执行,将需要显示的结果发送给用户端浏览器。
3、Java表达式由服务器负责计算,并将结果转化成字符串,然后交给用户端浏览器负责显示。
二、声明变量和定义方法
1、声明变量:
在“<%!”和“%>”标记符号之间声明变量和定义方法且声明的变量在整个JSP页面内都有效。
<%@page contentType = "text/html"%>
<%@page pageEncoding = "utf-8"%>
<HTML><body bgcolor = yellow>
<%!
int i = 0;
%>
<%!
i++;
%>
< p style = "font-family:宋体;fomt-size:36">
您是第 <% = i%>个访问本站的用户。
</p>
</body></HTML>
2、定义方法和类:
在“<%!”和“%>”标记符号之间定义类,可以在Java程序片中使用该类创建对象。
三、Java程序片
Java程序片可以写在<HTML>之前, 也可以在<HTML> 和</HTML>之中或 </HTML>之后。
程序片中声明的变量称作JSP页面的局部变量。运行在不同线程中的Java程序片的局部变量互不干扰,即一个用户改变Java程序片中的局部变量的值不影响其他用户的Java程序片中的局部变量。
四、Java表达式
可以在“<%"和”%>”之间插入一个可求值的表达式(注意:不插入语句,“<%="是一个完整的符号,“<%”和“=”之间不要有空格)。
五、JSP中的注释
注释可以增强JSP页面的可读性,使JSP页面易于维护。JSP页面中的注释可分为两种。
(1)HTML注释:在标记符号“<! --"和”-->"之间加入注释内容
<!--注释内容--%>
或
<% --注释内容-- %>
六、JSP指令标记
1、page指令标记:
page指令用来定义整个JSP页面的一些属性和这些属性的值,属性值用单引号或双引号括起来。可以使用多个page指令分别为每个属性指定值。如:
<%@ page 属性1="属性1的值"%>
<%@ page 属性2="属性2的值"%>
......
<%@ page 属性n="属性n的值"%>
也可以用一个page指令指定多个属性的值,如下:
<%@ page 属性1="属性1的值"属性2="属性2的值"....%>
page指令的作用对整个JSP页面有效,与其书写的位置无关。
page指令标记可以为contenType、import、language、session、buffer、autoFlush、isThreadSafe、pageEncoding、inform等属性定值
2、include指令标记
如果需要在JSP页面内某处整体嵌入一个文件,就可以考虑使用include指令标记,其语法格式如下:
<%@ include file ="文件的URL"%>
允许被嵌入的文件使用page指令指定contentType属性的值,但指定的值必须和嵌入该文件的JSP页面中的page指令和contentType属性的值相同。
七、JSP动作标记
动作标记是一种特殊的标记,它影响JSP运行时的功能
1.include 动作标记
格式如下:
<jsp:include page="文件的URL">
或
<jsp:include page="文件的URL">
</jsp:include>
当include动作标记不需要param子标记时,必须使用第一种形式。
2、param动作标记
param标记以“名字-值”对形式为其他标记提供附加信息,param标记不能独立使用,须作为jsp:include、jsp、forward标记的子标记来使用。
<jsp:param name = "参数" value="参数的值"/ >
3、forward动作标记
语法格式如下:
<jsp:forward page="要转向的页面"/>
或
<jsp:forward page="要转向的页面"/>
param 子标记
</jsp:forward>
该指令的作用是:从该指令处停止当前页面的执行,而转向执行page属性指定的JSP页面。当forward动作标记作为子标记时,必须使用第一种形式。
总结
1、一个JSP页面可由普通的HTML标记、JSP标记、成员变量和方法的声明、Java程序片和Java表达式组成。
2、JSP页面中的成员变量是被所有用户共享的变量。
3.、如果多个用户访问一个JSP页面,那么该页面中的Java程序片就会被执行多次,分别运行在不同的线程中,即运行在不同的时间内。
4、page指令来定义整个JSP页面的一些属性和这些属性的值。
5、include指令标记是在编译阶段就处理所需要的文件,被处理的文件在逻辑和语法上依赖当前JSP页面,其优点是页面的执行速度快;而include动作标记是在JSP页面运行时才处理文件,被处理的文件在逻辑和语法上独立于当前JSP页面,其优点是可以使param子标记更灵活地处理所需要的文件。