更新时间:2021-07-27 16:57:24 来源:极悦 浏览690次
多个filter拦截的同一个请求,按web.xml配置顺序进行过滤
返回的响应的从最后配置的filter开始过滤
具体配置步骤:
编写Filter实现类
package cn.kihyou.b2c.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
//实现接口:javax.servlet.Filter;
public class AdminFilter implements Filter {
// 三个重要方法:初始化:init();拦截到要执行的方法:doFilter();销毁:destroy();
@Override
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub
// Filter.super.init(filterConfig);
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
// TODO Auto-generated method stub
// 1.拦截客户端/上一个filter发来的请求,是否放行到Servlet/下一个Filter
System.out.println("AdminFilter拦截到请求");
// 放行(放不放行您可以自己看着办)
chain.doFilter(request, response);
// 2.拦截servlet/filter发回的响应,是否放行到客户端/上一个filter
System.out.println("AdminFilter拦截到响应");
}
@Override
public void destroy() {
// TODO Auto-generated method stub
// Filter.super.destroy();
}
}
<!-- Filter,过滤器 -->
<filter>
<!-- filter名,随便起 -->
<filter-name>AdminFilter</filter-name>
<!-- 实现类所在目录 -->
<filter-class>cn.kihyou.b2c.filter.AdminFilter</filter-class>
<!-- 初始化参数 -->
<!-- 设置字符集,charset:UTF-8 -->
<init-param>
<!-- 参数名 -->
<param-name>charset</param-name>
<!-- 参数值 -->
<param-value>UTF-8</param-value>
</init-param>
<!-- 设置内容类型及其字符集,contentType:text/html;charset=UTF-8 -->
<init-param>
<param-name>contentType</param-name>
<param-value>text/html;charset=UTF-8</param-value>
</init-param>
</filter>
<!-- filter的映射 -->
<filter-mapping>
<!-- 对应的filter名 -->
<filter-name>AdminFilter</filter-name>
<!-- 要进行拦截过滤的目录 -->
<url-pattern>/web/admin/*</url-pattern>
</filter-mapping>
<session-config>
<!-- 超时时间,单位:分钟 -->
<session-timeout>30</session-timeout>
</session-config>
以上就是极悦小编介绍的"过滤器Filter的配置",希望对大家有帮助,想了解更多可查看Filter过滤器。极悦在线学习教程,针对没有任何Java基础的读者学习,让你从入门到精通,主要介绍了一些Java基础的核心知识,让同学们更好更方便的学习和了解Java编程,感兴趣的同学可以关注一下。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习