概念: Filter表示过滤器, 是JavaWeb三大组件(Servlet, Filter, Listener)之一
过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能。
过滤器一般完成一些通用的操作,比如:权限控制、统一编码处理、敏感字符处理......
定义类, 实现Filter接口, 并重写所有方法
配置Filter拦截资源的路径: 在类上定义@WebFilter注解
放行

放行要注意的点:
放行前:对request数据进行处理
放行后:对response数据进行处理
代码:
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;@WebFilter("/*")
public class FilterDemo01 implements Filter {@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {//放行前,对request数据进行处理System.out.println("1.Filter已执行...");//放行filterChain.doFilter(servletRequest,servletResponse);//放行后,对response数据进行处理System.out.println("3.放行后...");}@Overridepublic void init(FilterConfig filterConfig) throws ServletException {}@Overridepublic void destroy() {}
}jsp代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
System.out.println("2.hello ");
%>
结果展示:





拦截具体的资源: /hello.jsp:只有访问hello.jsp时才会被拦截
目录拦截: /user/*:访问/user下的所有资源,都会被拦截
后缀名拦截:*.jsp:访问后缀名为jsp的资源,都会被拦截
拦截所有:/*访问所有资源,都会被拦截
一个Web应用可以配置多个过滤器, 这多个过滤器称为过滤器链
注解配置的Filter,优先级按照过滤器类名(字符串)的自然排序
上一篇: 一元一分跑得快免押金群求
下一篇: 正规红中24小时一元麻将群局