目录
前言必读
一、概念
Filter表示过滤器,是Javaweb三大组件(Servlet、Filter、Listener)之一。
过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能。
过滤器一般完成一些通用的操作,比如权限控制、统一编码处理、敏感字符处理等等。
执行图
二、Filter拦截路径配置
Filter可以根据需求,配置不同的拦截资源路径
@WebFilter()
拦截具体的资源:/index.jsp:只有访问index.jsp时才会被拦截
目录拦截:/user/*:访问/user下的所有资源,都会被拦截
后缀名拦截:*.jsp:访问后缀名为jsp的资源都会被拦截
拦截所有:/*:访问所有资源,都会被拦截
三、过滤器链
一个Web应用,可以配置多个过滤器,这多个过滤器称为过滤器链。
多个过滤器执行的优先级是按照过滤器类的名字排名去执行,就像英文排名,a,b,c这样按照自然顺序依次执行。
四、使用步骤
1.定义类,实现File接口,并重写其所有的方法
2.在类上面定义@WebFilter注解,从而定义拦截的路径
3.在doFilter方法中输出一句话,并放行
ps:这个代码可以直接右键一键生成web过滤器,省去了自己写的步骤。
这是拦截全部的代码
package com.project.JavaScript;
import javax.servlet.*;
import javax.servlet.annotation.*;
import java.io.IOException;
//代表拦截全部/*
@WebFilter("/*")
public class Filter1 implements Filter {
public void init(FilterConfig config) throws ServletException {
}
public void destroy() {
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException {
System.out.println("Filter1");
//放行
chain.doFilter(request, response);
}
}
如果你觉得本篇文章对你有所帮助的,给个一键三连吧!!!
点赞关注收藏,抱拳了!