一、JSP技术
1、JSP请求会被编译成Servlet,但只编译一次。
2、JSP语法:元素和模板数据
(1)元素:指令元素、脚本元素和动作元素
(2)指令元素:形式 <%@ directive {attr = "value"}* %> // * 表示1到n
==page,include,taglib
(3)page:整个页面,定义与页面相关的属性,共13个属性。language(java)、extends(继承)、import(类)、session(true|false)、buffer(none|sizekb)、autoFlush(true|false)、isThreadSafe(true|false)、info、errorPage(error_url)、isErrorPage(true|false)、contentType(text/html;charset=gb2312)、pageEncoding(ISO-8859-1)、isELIgnored(true|false)
(4)include:<%@ include file="date.jsp" %>,静态包含一个页面,编译时直接插入到页面中。但要注意变量的定义不要重复,不要包含<html>和<body>等标签。注意和后面的<jsp:include>的区别。
(5)taglib:使用用户定制的标签。
<%@ taglib (uri="tagLibraryURI " | tagdir = "tagDir" ) prefix ="tagPrefix" %>
(6)脚本元素:包含声明、脚本段和表达式三种。
声明:<%! %>,声明变量、方法
脚本段:<% %>:Java代码段
表达式:<%= %>:结果插入到输出流
(7)动作元素:为请求处理阶段提供信息,遵循XML元素语法。定义了20个标准动作元素。
<jsp:useBean> / <jsp:setProperty> / <jsp:getProperty> :访问JavaBean
<jsp:param> : 提供附加信息
<jsp:include> :包含静态和动态资源,两个属性page和flush。和<%@ include %>是有区别的【JSP中两种include的区别】。
<jsp:forward>:请求转发到静态资源、jsp、servlet。<jsp:forward page="reg.jsp">
<jsp:plugin>、<jsp:params>、<jsp:fallback>:applet或javabean,params只能在plugin中使用,fallback是plugin的一部分。
<jsp:element>:XML元素标签,内含attribute和body
<jsp:attribute>:属性
<jsp:body>:定义元素的内容
<jsp:text>:封装模板数据
<jsp:output>:输出XML声明和文档类型声明。
<jsp:invoke>、<jsp:doBody>、<jsp:root>、<jsp:declaration>、<jsp:scriptlet>、<jsp:expression>
3、JSP隐含对象:共9个。request、response、session、application和config已经讲过了。
(1)pageContext提供了访问其他隐含对象的方法
(2)out:是PrintWriter对象的带缓冲版本
(3)page:相当于是页面转换后的Servlet实例
(4)exception:异常
4、对象和范围
(1)page范围:页面范围
(2)request范围:request对象存活期间
(3)session范围:session对象会话期间
(4)application范围:web应用程序运行期间
5、JSP文档:使用XML格式编写。
《JSP Web开发详解》粗读(二)