1.过滤器(Filter):
3) Servlet过滤器能够在Servlet被调用之前检查Request对象,修改Request Header和Request内容;
4) 在Servlet被调用之后检查Response对象,修改Response Header和Response内容。Servlet过滤器负责过滤的Web组件可以是Servlet、JSP或HTML文件。
1) Servlet过滤器是在Java Servlet规范2.3中定义的,它能够对Servlet容器的请求和响应对象进行检查和修改。
2) Servlet过滤器本身并不生成请求和响应对象,它只提供过滤作用。
3) Servlet过滤器能够在Servlet被调用之前检查Request对象,修改Request Header和Request内容;
4) 在Servlet被调用之后检查Response对象,修改Response Header和Response内容。Servlet过滤器负责过滤的Web组件可以是Servlet、JSP或HTML文件。
2.过滤器就像IO里面的过滤流和节点流一样。所有的过滤器都必须继承Filter接口,这个方法由3个过滤器必须实现的方法:
-init();
-doFilter();
-destroy();
3.过滤器的过滤过程:
4.每个Filter都要在web.xml文件中添加一个<filter></filter>元素,里面的元素和配置Servlet元素一样。
5.监听器(Listener):实现了观察者模式,一个监听器会在某个主题触发的时候被调用。
6.自己编写的监听器类要在web.xml文件中写上对应的<listener>元素。
7.在对ServletContext启动和销毁的监听要实现
ServletContext
Listener接口,对Application对象的属性更改的监听要实现ServletContextAttributeListener接口。
8.
对于Session的监听要实现HttpSessionListener。Session中属性的监听对应的接口是HttpSessionAttributeListener
9.EL(Expression Language表达式语言):
1)
${ param.参数名 } 可以取出表单中传进来的参数
2)${ requestScope.AttributeName} 可以取出响应中的属性
3)${ sessionScope.AttributeName } 可以取出Session中的属性
10.客户号JSP标签:
11.Servlet容器变异JSP网页时,如果遇到自定义标签,就会调用这个标签的处理类。标签处理类必须扩展以下两个类中的一个:
-javax.servlet.jsp.tagext.TagSupport
-javax.servlet.jsp.tagext.BodyTagSupport
12.标签的处理类必须实现doStartTag()或者doEndTag()方法。
13.标签库的描述文件:xxx.tld , 标签库描述文件本身是一个XML文件
1)配置好标签描述文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.1</jsp-version>
<short-name>myTag</short-name>
<uri>标签库的名字</uri>
<tag>
<name> 标签的名字 </name>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.1</jsp-version>
<short-name>myTag</short-name>
<uri>标签库的名字</uri>
<tag>
<name> 标签的名字 </name>
<tag-class>标签库处理类</tag-class>
<body-content>empty</body-content>
</tag>
</taglib>
<body-content>empty</body-content>
</tag>
</taglib>
2)在JSP中引入标签:
<%@ taglib uri="标签库的名字" prefix="前缀" %>
3)在JSP中使用标签库:
<
前缀:标签名
>