过滤器Filter的简介及用法

Java Web过滤器详解

过滤器Filter

过滤器链

介绍:一个web应用中,可以配置多个过滤器,这多个过滤器就形成了一个过滤器链。

顺序:注解配置的Filter,优先级是按照过滤器类名(字符串)的自然排序。

在这里插入图片描述

登录校验流程

  1. 获取请求url。
  2. 判断请求url中是否包含login,如果包含,说明是登录操作,放行。
  3. 获取请求头中的令牌(token)。
  4. 判断令牌是否存在,如果不存在,返回错误结果(未登录)。
  5. 解析token,如果解析失败,返回错误结果(未登录)。
  6. 放行。

在这里插入图片描述

使用样例

定义Filter:定义一个类,实现Filter接口,并重写其所有方法。
配置Filter:Filter类上加@WebFilter注解。配置拦截资源的路径。引导类上加@ServletComponentScan开启Servlet组件支持。

WebFilter(urlPatterns ="/*")
public class DemoFilter implements Filter {
    //初始化方法,Web服务器启动,创建Filter时调用,只调用一次
	public void init(FilterConfig filterConfig) throws ServletException{
         Filter.super.init (filterconfig);
    }
    //拦截到请求时,调用该方法,可调用多次
	public void dorilter(ServletRequest request, ServletResponse response, FilterChain chain){
        System,out.println("拦截方法执行,拦截到了请求...");
        chain.doFilter (request, response);
    }
    //销毁方法,服务器关闭时调用,只调用一次	
	public void destroy(){
        Filter.super.destroy();
    }
} 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值