过滤器

首先,Servlet是Servlet,Filter是Filter,两者不能混为一谈,而且有先后之别,在web.xml中,一定是Filter在Servlet之前。

过滤器的作用,顾名思义,起到过滤作用,一般用于处理不同的xxxServlet公共处理的部分。比如,拦截某些客户端的ip,根据初始化参数的黑名单阻止继续访问,记录某个xxxservlet执行的时间等等。

过滤器_第1张图片
《Tomcat与JavaWeb开发技术详解》

关于过滤器的使用步骤和生命周期,直接上图:

过滤器_第2张图片
《Tomcat与JavaWeb开发技术详解》

你猜对了,过滤器也是Servlet帮你创建的,并且以它规定的顺序执行,什么时候执行什么方法。

所有的自己实现的过滤器都要实现javax.servlet.Filter接口。发布时要在web.xml中配置元素,且在所有的之前。若要对所以的请求都过滤,就写成"/*",Servlet容器都会先把请求交给过滤器处理。

——————

串联过滤器: 多个过滤器可以串联起来协同工作,Servlet容器将根据它们在web.xml中定义的先后顺序,依次调用它们的doFilter()方法。

过滤器_第3张图片
《Tomcat与JavaWeb开发技术详解》

你可能感兴趣的:(过滤器)