一、过滤器介绍
在Servlet 2.3中定义了过滤器,它能够对Servlet容器的请求和响应进行检查和修改。
Servlet过滤器能够在Servlet被调用之前检查Request对象,并修改Request Header 和 Request内容。
Filter可以过滤Servlet,JSP,HTML。
二、Javax.Servlet.Filter
所有的Filter都必须实现javax.servlet.Filter接口,并实现接口中的三个方法。
1.Filter 初始化方法,Servlet容器创建过滤器实例后调用该方法,该方法读取web.xml中的过滤器的初始化参数。
Filter的执行顺序与在web.xml配置文件中的配置顺序一致,一般把Filter配置在所有的Servlet之前。
init(FilterConfig filterConfig)
2.过滤方法,完成实际的过滤操作,当客户端请求与过滤器设置的url匹配时,Servlet容器将先调用过滤器的DoFilter方法,FilterChain用户访问后续过滤器。
这里的ServletRequest和ServletResponse一般需要转换成具体的Servlet实现对于的对象,如:HttpServletRequest和HttpServletResponse。
doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
3.销毁方法,当Servlet容器在销毁过滤器实例前,该方法销毁过滤器占用的资源。
destroy()
三、实现简单过滤器
四、Filter实例-过滤敏感词汇