目录
接口中的方法
init
destroy
doFilter
在web.xml中配置
作用
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);
}
该方法是filter进行过滤操作的方法,是最重要的方法。过滤器实现类必须实现该方法。方法体中可以对request 和response进行预处理。其中FilterChain可以将处理后的request 和response对象传递到过滤链上的下一个资源。
在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资源进行拦截(权限控制,通过拦截资源进行权限控制, 是否可以访问)