Servlet编写过滤器
Servlet 过滤器是可用于 Servlet 编程的 Java 类,有以下目的:
1.在客户端的请求访问后端资源之前,拦截这些请求。
2.在服务器的响应发送回客户端之前,处理这些响应。
根据规范建议的各种类型的过滤器:
1.身份验证过滤器(Authentication Filters)。
2.数据压缩过滤器(Data compression Filters)。
3.加密过滤器(Encryption Filters)。
4.触发资源访问事件过滤器。
5.图像转换过滤器(Image Conversion Filters)。
6.日志记录和审核过滤器(Logging and Auditing Filters)。
7.MIME-TYPE 链过滤器(MIME-TYPE Chain Filters)。
8.标记化过滤器(Tokenizing Filters)。
9.XSL/T 过滤器(XSL/T Filters),转换 XML 内容。
过滤器被部署在部署描述符文件 web.xml 中,然后映射到您的应用程序的部署描述符中的 Servlet 名称或 URL 模式。
当 Web 容器启动 Web 应用程序时,它会为您在部署描述符中声明的每一个过滤器创建一个实例。该过滤器执行的顺序是按它们在部署描述符中声明的顺序。
- Servlet过滤器方法
过滤器是一个实现了 javax.servlet.Filter 接口的 Java 类。javax.servlet.Filter 接口定义了三个方法:
方法 | 描述 |
---|---|
public void doFilter(SerlvetRequest,SrevletResponse,FilterChain) | 该方法在每次一个请求/响应对因客户端在链的末端请求资源而通过链传递时由容器调用。 |
public void init(FilterConfig filterConfig) | 该方法由 Web 容器调用,指示一个过滤器被放入服务。 |
public void destroy() | 该方法由 Web 容器调用,指示一个过滤器被取出服务。 |
Servlet Cookies处理
Cookies 是存储在客户端计算机上的文本文件,并保留了各种跟踪信息。Java Servlet 显然支持 HTTP Cookies。
识别返回用户包括三个步骤:
1.服务器脚本向浏览器发送一组 Cookies。例如:姓名、年龄或识别号码等。
2.浏览器将这些信息存储在本地计算机上,以备将来使用。
3.当下一次浏览器向 Web 服务器发送任何请求时,浏览器会把这些 Cookies 信息发送到服务器,服务器将使用这些信息来识别用户。