目录
前言必读
一、概念
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);
}
}
如果你觉得本篇文章对你有所帮助的,给个一键三连吧!!!
点赞关注收藏,抱拳了!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/112622.html