简介 JavaWeb 中的过滤器
过滤器(filter),其主要目的是为了对request或者response进行处理。
过滤器可以用于登录、加密、解密、会话检查等等。
过滤器可以配置为拦截一个或多个资源。
过滤器可以拦截某一个或某一类操作,然后读取其中的request或者response并能进行修改
每一个过滤器都必须实现javax.servlet.Filter
接口,该接口定义了过滤器的三个生命周期方法:init、doFilter、destroy。
在doFilter方法中,可以传入另一个Filter对象,这样多个过滤器互相调用,就可以形成一个过滤器链。那么最后一个需要再调用其它的过滤器的过滤器的doFilter方法该怎么办呢?具体做法是把FilterChain的对象传入doFilter方法,并且在该方法中执行FilterChain.doFilter()方法用于终止过滤器链。
配置过滤器的两种方式:
通过注解的方式来配置:
@WebFilter(filterName="TestFilter", urlPatterns=("/*"))
通过配置文件的方式来配置:
<filter>
<filter-name>TestFilter</filter-name>
<filter-class>Filter文件的完整路径</filter-class>
</filter>
<filter-mapping>
<filter-name>TestFilter</filter-name>
<urlpattern>/*</url-pattern>
</filter-mapping>
这样一来,就可通过在filter中更改请求和响应的内容从而实现过滤功能。
本文链接:
https://www.nosuchfield.com/2015/12/05/introduction-to-filters-in-JavaWeb/
版权声明:
本博客所有文章均采用
CC BY-NC-SA 4.0 许可协议,转载请注明出处!