Filter中文意思为过滤器。顾名思义,过滤器可在浏览器以及目标资源之间起到一个过滤的作用。例如:水净化器,可以看成是生活中的一个过滤器,他可以将污水中的杂质过滤,从而使进入的污水变成净水。
对于WEB应用来说,过滤器是一个驻留在服务器中的WEB组件,他可以截取客户端和WEB资源之间的请求和响应信息。
WEB资源可能包括Servlet、JSP、HTML页面等
创建一个新的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():服务器停止时调用,用来释放资源。