过滤器filter的配置
Posted kihyou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了过滤器filter的配置相关的知识,希望对你有一定的参考价值。
多个filter拦截的同一个请求,按web.xml配置顺序进行过滤
返回的响应的从最后配置的filter开始过滤
具体配置步骤:
编写Filter实现类
1 package cn.kihyou.b2c.filter; 2 3 import java.io.IOException; 4 5 import javax.servlet.Filter; 6 import javax.servlet.FilterChain; 7 import javax.servlet.FilterConfig; 8 import javax.servlet.ServletException; 9 import javax.servlet.ServletRequest; 10 import javax.servlet.ServletResponse; 11 12 //实现接口:javax.servlet.Filter; 13 public class AdminFilter implements Filter { 14 15 // 三个重要方法:初始化:init();拦截到要执行的方法:doFilter();销毁:destroy(); 16 17 @Override 18 public void init(FilterConfig filterConfig) throws ServletException { 19 // TODO Auto-generated method stub 20 // Filter.super.init(filterConfig); 21 } 22 23 @Override 24 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) 25 throws IOException, ServletException { 26 // TODO Auto-generated method stub 27 // 1.拦截客户端/上一个filter发来的请求,是否放行到Servlet/下一个Filter 28 System.out.println("AdminFilter拦截到请求"); 29 // 放行(放不放行您可以自己看着办) 30 chain.doFilter(request, response); 31 // 2.拦截servlet/filter发回的响应,是否放行到客户端/上一个filter 32 System.out.println("AdminFilter拦截到响应"); 33 34 } 35 36 @Override 37 public void destroy() { 38 // TODO Auto-generated method stub 39 // Filter.super.destroy(); 40 } 41 42 }
配置web.xml
1 <!-- Filter,过滤器 --> 2 <filter> 3 <!-- filter名,随便起 --> 4 <filter-name>AdminFilter</filter-name> 5 <!-- 实现类所在目录 --> 6 <filter-class>cn.kihyou.b2c.filter.AdminFilter</filter-class> 7 <!-- 初始化参数 --> 8 <!-- 设置字符集,charset:UTF-8 --> 9 <init-param> 10 <!-- 参数名 --> 11 <param-name>charset</param-name> 12 <!-- 参数值 --> 13 <param-value>UTF-8</param-value> 14 </init-param> 15 16 <!-- 设置内容类型及其字符集,contentType:text/html;charset=UTF-8 --> 17 <init-param> 18 <param-name>contentType</param-name> 19 <param-value>text/html;charset=UTF-8</param-value> 20 </init-param> 21 </filter> 22 23 <!-- filter的映射 --> 24 <filter-mapping> 25 <!-- 对应的filter名 --> 26 <filter-name>AdminFilter</filter-name> 27 <!-- 要进行拦截过滤的目录 --> 28 <url-pattern>/web/admin/*</url-pattern> 29 </filter-mapping> 30 31 <session-config> 32 <!-- 超时时间,单位:分钟 --> 33 <session-timeout>30</session-timeout> 34 </session-config>
以上是关于过滤器filter的配置的主要内容,如果未能解决你的问题,请参考以下文章