注意: Filter 虽然很常用,但是覆盖的范围太广,这里我们只介绍设置编码和控制权限的过滤器,其他的使用方式还需要大家自行积累。一、了解 Filter 的使用。 1 、批量设置请求编码编码问题会不会成为中国人学 java 的标志呢? 通过之前的讨论“ POST 乱码”,我们知道为了避免提交数据的乱码问题,需要在每次使用请求之前设置编码格式。在你复制粘贴了无数次 ("gb2312"); 后, 有没有想要一劳永逸的方法呢?能不能一次性修改所有请求的编码呢? 用 Filter ,它的名字是过滤器,可以批量拦截修改 servlet 的请求和响应。我们编写一个 ,来批量设置请求编码。 package anni; import ; import ; import ; import ; import ; import ; import ; public class EncodingFilter implements Filter { public void init(FilterConfig config) throws ServletException {} public void destroy() {} public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain) throws IOException, ServletException { ("gb2312"); (request, response); }} 在此 EncodingFilter 实现了 Filter 接口, Filter 接口中定义的三个方法都要在 EncodingFilte r 中实现,其中 doFilter() 的代码实现主要的功能: 为请求设置 gb231 2 编码并执行 () 继续下面的操作。与 servlet 相似,为了让 filter 发挥作用还需要在 进行配置。<filter> <filter-name>EncodingFilter</filter-name> <filter-class></filter-class> </filter> <filter-mapping> <filter-name>EncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> filter 标签部分定义使用的过滤器, filter-mapping 标签告诉服务器把哪些请求交给过滤器处理
filter过滤请求 来自淘豆网www.taodocs.com转载请标明出处.