《JSP技术大全》笔记

1. 三个伪指令
1.1 <%@ page%>
语法: <%@ page attribute=”value” attribute=”value” … %>
属性:
language=”java”,目前仅java
extends=”classeName”,指定当前jsp应该作为哪个超类的子类,一般不用设置
import=”importList”,引入jsp中要用到类
session=”true|false”,指定jsp页面是否需要一个session,默认true。一般不用设置
buffer=”none|size”,描述jsp采用的输出缓存模型,默认8k,一般不用设置。与aotoFlus和配合使用
aotoFlush=”true|false”
isThreadSafe=”true|false”,默认true, 一般不用设置
info=”info_text”,jsp页面的一些描述性信息,可以用servlet的getServletInfo()得到
contentType=”ctinfo”,请求应用返回一个HTTP Content-Type头标,一般为contentType=”type/subtype; charset=charset”,例如:<%@ page contentType=”text/html; charset=utf-8” %>
errorPage=”error_url”,指定如果该jsp页面出错将显示那个页面
isErrorPage=”true|false”,如果为true则声明了该页面是其它jsp页面出错后显示的页面
1.2 <%@ include%>
语法: <%@ include file=”filename” %>
说明:filename必须是相对的URL文档,即只能包含路径信息,没有协议或服务器信息。以“/”开始,被认为是相对servlet上下文根的绝对路径。否则,文件名被认为是相对于当前JSP页面的。
在JSP被容器转换成servlet前首先将filename中的文本复制到相应位置,然后再转换为servlet。如果当前JSP页面中存在多个<%@ include%>伪指令,则根据出现的前后顺序依次复制过来。
1.3 <%@ taglib%>
语法:<%@ taglib url=”tagLIbraryURL” prefix=”tagPrefix” %>
启用已经定义过的一个标签库
tagLIbraryURL:标签库描述器的url
tagPrefix:用于标识在页面后面部分使用定制标签的唯一前缀
例如:如果abc.tld定义了一个名为table的标签,那么我们可以
<%@ taglib url=”/tlds/abc.tld” prefix=”ft” %>
然后就可以用该标签
2. 两种注释
<%-- 仅jsp可见 --%>

3. 表达式
<%= exp%>
4. scriptliet: 多个jsp语句的集合
<% statement;[statement;…]%>
scriptliet在servlet中的service() 方法中
5. 声明
<%! statement;[statement;…]%>
声明在servlet中的service() 方法之外,注意与scriptliet区别
6. 隐含变量
request(常用)
response(常用)
pageContext
session(常用)
application
out(常用)
config
page
exception
7. 标准行为
7.1. 概念
行为是创建、修改或使用对象的高层jsp元素。行为遵守严格的xml语法:

如果没有行为主体可简化为:
7.2. 7种标准行为标签
…< /jsp:useBean >



 语法:
 说明: resourcename 路径规则同<%@ include%>
 表达式语法:” flush=”true” />
 向被调用的jsp页面传递参数:






7.3. …与<%@ include%>的区别
<%@ include%>伪指令:用于在JSP源码被转换成JavaServlet源码和被编译前将静态文本复制到其中。也就是在JSP中出现<%@ include%>的地方将<%@ include%>所包含的文件内容直接拷贝到此处,以此实现将变化和不变化的代码分离。典型情况下,文本为HTML代码,但它可以是在JSP页面内显示的任何内容。
行为:使得servlet引擎调用另一URL,生成带有最初JSP页面的输出。
在构建一种思维模式的关键一点是<%@ include%>伪指令在编译时只执行一次,而行为每次进行请求时都执行。行为更像一个C语言的函数调用,因为在Tomcat编译后的源码中可以看见将翻译为:pageContext.include(“resourcename”)。
此外还必须注意包含与被包含文件之间命名的冲突问题。
8. 标签扩展
除了以上7种标准行为的基本标签外,可以自由的扩展标签
步骤:1)定义标签
   2)编写标签库描述器的接口(创建TLD入口)
   3)编写标签处理器
    4)在JSP页面中使用标签
9. JSP与XML
9.1. DTD(文档类型定义,Document Type Definition): 用来定义XML元素及其规则
9.2. XML解析器
1) DOM(Document Object Module) 文档对象模型
2) SAX(Simple API for XML) XML的简单API
SAX 较 DOM有很多优点
可以使用XSLT处理器和XSL样式单转换XML

转载于:https://www.cnblogs.com/tuantuan/archive/2006/07/18/454158.html

你可能感兴趣的:(《JSP技术大全》笔记)