1、JSP页面的基本结构
在传统的HTML页面文件中加入JAVA程序片和JSP标签就构成了一个JSP页面文件。一个JSP页面可由5中元素组合而成。
- 普通的HTML标记符
- JSP标签
- 变量和方法的声明
- JAVA程序片
- JAVA表达式
称后三个部分为JSP的脚本部分。
当服务器上的一个JSP页面被第一次请求时,服务器上的JSP引擎首先将JSP页面文件转译成一个JAVA文件,再将这个JAVA文件编译成字节码文件,然后通过执行字节码文件相应用户的请求。字节码的任务就是:
- 把JSP中普通的HTML标记符号交给客户的浏览器执行显示
- JSP标签、数据和方法声明、JAVA程序片由服务器负责执行,将需要显式的结果发送给客户的浏览器
- JAVA表达式由服务器负责计算,并将结果转化为字符串,然后交给客户的浏览器负责显示
2、变量和方法的声明
在<%! 和 %>之间声明变量和方法。
3、声明类
在<%! 和 %>之间声明一个类。
4、JAVA程序片
在<% 和 %>之间插入JAVA程序片。
5、表达式
在<%= 和 %>之间插入表达式,不可插入语句。“<%=”是一个完成的符合中间不能有空格
6、JSP中注释
- HTML注释
在<!-- 和 -->之间插入注释内容
- JSP注释
在<%-- 和 --%>之间插入注释内容
7、JSP指令标签
- page指令
page指令用来定义整个JSP页面的一些属性和属性的值
指令格式:
<%@ page 属性1=“1的值” 属性2=“2的值” 。。。%>
属性值总是用单引号或双引号括起来的。属性有多个值,用逗号分割,但只能对import指定多个值
<%@ page import="java.util.*","java.io.*","java.awt.*"%>
在一个JSP页面中,也可以使用多个page指令来指定属性及其值。
可以使用多个page指令指定import属性几个值,但其他属性只能使用一次page指令来指定该属性一个值
page指令对整个页面有效,与其书写的位置无关,但习惯把page指令卸载JSP页面的最前面
* language属性
<%@ page language="java"%>
* import 属性
引入JAVA核心包中类。
JSP页面默认import属性已经有如下的值:
“java.lang.*”,"javax.servlet.*","javax.servlet.jsp.*","javax.servlet.http.*"
* contentType属性
* sessoin 属性
用于设置是否需要设置内置的session对象
session属性的属性值可以是true和false,默认的属性值是true
* buffer属性
内置输出流对象out负责将服务器的某些信息或运行结果发送到客户端显示,buffer属性用来指定out设置的缓冲区的大小或者不使用缓冲区。
<%@ page buffer="48kb" %>
* autoFlush属性
指定out缓冲区填满时,是否自动刷新
* isTreadSafe属性
用来设置JSP页面是否可以多线程访问
- include 指令
在JSP页面内某处整体嵌入一个文件
<%@ include file="文件的名字"%>
该文件必须和当前JSP页面在同一web服务器目录中。
8、JSP动作标签
- include 动作标签
<jsp:include page="文件名"/>
<jsp:include page="文件名"></jsp:include>
jsp、:、include中间不能有空格
- param 动作标签
param标签以“名字-值”对的形式为其他标签提供附加信息,这标签与jsp:include, jsp:forward, jsp:plugin标签一起使用。
当param标签和jsp:include一起使用时,可以将param的值传递到要include的文件中。获取param中的值是通过JSP内置对象request调用getParameter方法完成的。
<jsp:param name="名字" value="指定给param的值">
<jsp:include page="文件名">
<jsp:param name="名字" value="100">
</jsp:include>
- forward 动作标签
<jsp:forward page="转向的页面"/>
<jsp:forward page="转向的页面">
</jsp:forward>
- plugin动作标签
指示JSP页面加载Javaplugin插件。该插件由客户端负责下载,并使用该插件来运行Java applet小应用程序。
<jsp:plugin type="applet" code="小应用程序的字节码文件"
ireversion="java虚拟机版本号" width="小程序宽度值" height="小程序高度值">
<jsp:fallback>
提示信息:用来提示用户的浏览器是否支持插件下载
</jsp:fallback>
</jsp:plugin>
- useBean 动作标签
用来创建并使用一个JavaBean。sun公司倡导:用html完成JSP页面的静态部分,用JavaBean完成动态部分,实现真正意义上的静态和动态分割。