Filter中文意思为过滤器。顾名思义,过滤器可在浏览器以及目标资源之间起到一个过滤的作用。例如净化器,可以看是生活中的一个过滤器,他可以将污水中的杂质过滤从而使进入的污水变成净水

对于WEB应用来说过滤器是一个驻留在服务器中的WEB组件,可以截取客户端和WEB资源之间的请求和响应信息。

WEB资源可能包括ServletJSPHTML页面

 

创建一个新的Filter文件

配置web.xml文件、Filter的配置和Servlet的配置很像,但是Filter的<url-pattern>,下面是精确拦截:指定具体的拦截路径,也可以*.jsp:拦截所有的jsp文件或者/web/*:拦截web文件下的所有文件。

 在doFilter中chain.doFilter是放行的意思

当有多个Filter过滤时,在web.xml中<url-pattern>的配置前后决定了过滤执行的先后顺序。

 

Filter的生命周期Servlet类似

构造器:创建Filter实例是调用,Filter实例服务器一旦启动就会创建

init()实例创建后马上被调用,用来对Filter做一些初始化的操作

doFilter():Filter的主要方法,用来完成过滤器主要功能的方法,每次访问目标资源时都会调用。

destroy():服务器停止时调用,用来释放资源。