目录
Filter也称之为过滤器,它是Servlet技术中最实用的技术,WEB开发人员通过 Filter技术,对web服务器管理的所有web资源:例如Servlet, 从而实现一些 特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信 息等一些高级功能。
接口中的方法
init
init(FilterConfig filterConfig):该方法是对filter对象进行初始化 的方法,仅在容器初始化filter对象结束后被调用一次。参数 FilterConfig可以获得filter的初始化参数
destroy
destroy():该方法在容器销毁过滤器对象前被调用
doFilter
重写doFilter方法,剩下的两个方法为默认方法,有方法体不用重写,在此可以规定编码格式等
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
servletRequest.setCharacterEncoding("utf-8");
filterChain.doFilter(servletRequest,servletResponse);
}
在web.xml中配置
<!--配置过滤器 -->
<filter>
<filter-name>encodeFilter</filter-name>
<filter-class>com.webback.filter.EncodeFilter</filter-class>
</filter>
<!--配置进入过滤器的映射地址 -->
<filter-mapping>
<filter-name>encodeFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
作用
1.过滤器用来实现通用的功能,减少代码冗余,提高可维护性
2.一个过滤器可以配置给多个资源使用
3.一个资源也可以配置多个过滤器,按照配置顺序调用
4.对服务器web资源进行拦截(权限控制,通过拦截资源进行权限控制, 是否可以访问)