过滤器 , 其实就是对客户端发出来的请求进行过滤。 浏览器发出, 然后服务器派servlet处理。 在中间就可以过滤, 其实过滤器起到的是拦截的作用。
客户端发出请求,先经过过滤器, 如果过滤器放行,那么才能到servlet
Filter的生命周期
- 创建
在服务器启动的时候就创建。
- 销毁
服务器停止的时候。
-
作用
- 对一些敏感词汇进行过滤
- 统一设置编码
- 自动登录
如何使用Filter
-
定义一个类, 实现Filter
public class FilterDemo implements Filter { public void destroy() { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { System.out.println("来到过虑器了。。。"); chain.doFilter(request, response); } public void init(FilterConfig fConfig) throws ServletException { } }
-
注册过滤器
在web.xml里面注册,注册的手法与servlet类似。同一个请求可以有多个Filter,只有当前面所有的Filter放行了当前Filter才能通过。决定Filter的顺序是通过Web.xml里的<filter-maapping>的顺序决定的。
<filter>
<display-name>FilterDemo</display-name>
<filter-name>FilterDemo</filter-name>
<filter-class>com.filter.FilterDemo</filter-class>
</filter>
<filter-mapping>
<filter-name>FilterDemo</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>