Servlet和JSP中的过滤器都是Java类;存在的目的:
1.在客户端的请求访问后端资源之前,拦截这些请求。
2.在服务器的响应发送回客户端之前,处理这些响应。
例如:身份认证过滤器;数据压缩过滤器;加密过滤器;触发资源访问事件的过滤器;图像转换过滤器;登录和验证过滤器;MIME类型链过滤器;令牌过滤器;转换XML内容的XSL/T过滤器
过滤器将会被插入进web.xml文件中,然后映射servlet、JSP文件的名字,或URL模式。
当 Web 容器启动 Web 应用程序时,它会为在部署描述符中声明的每一个过滤器创建一个实例。该过滤器执行的顺序是按它们在部署描述符中声明的顺序。要转换应用的顺序,只需要改变web.xml中元素的定义顺序就行了。
Servlet过滤器方法(实现javax.servlet.Filter 接口):
javax.servlet.Filter接口定义了三个方法:
1.public void doFilter (ServletRequest, ServletResponse, FilterChain) 每当 request/response要通过过滤链时容器会调用这个方法,因为客户端请求链尾的资源
2.public void init(FilterConfig filterConfig) 容器调用这个方法来表明一个过滤器被安置在服务中
3.public void destroy() 容器调用这个方法来表明一个过滤器正在从服务中移除
网友评论