一、过滤器实现的方法
init(FilterConfig arg0)
doFilter(ServletRequest,ServletResponse,FilterChain) FilterChain参数用于访问后续过滤器
doFilter()方法类似于Servlet接口的Service()的方法。如果调用了FilterChain的doFilter()方法,
就会执行下一个过滤器,如果没有下一个过滤器,就调用请求目标Servlet的service方法。
destory()
二、web.xml
三、实例
读取web.xml文件参数,新建一个Filter类:
web.xml其中url-pattern里/app/*表示app目录下所有文件都有经过验证过滤。
编写一个简单的性能测量过滤器,以记录请求与响应间的时间差。
如果想所有的Servlet都过滤,则可以使用星号(*)。<servlet-name>*</servlet-name>
触发过滤器的时机,默认是浏览器直接发出请求。如果是那些通过RequestDispatcher的forward()或include()的请求,
则可以在web.xml中设置<dispatcher>标签,指定哪些请求转发类型可以触发过滤器。例如:
如果某个URL或Servlet会应用多个过滤器,则根据<filter-mapping>在web.xml中出现的先后顺序,来决定过滤器的执行顺序。