首页 > 编程语言 >Java:拦截器(Interceptor)

Java:拦截器(Interceptor)

时间:2023-09-11 23:24:49浏览次数:45  
标签:Exception 拦截器 Java 路径 HttpServletResponse Override Interceptor public

 

拦截器和过滤器之间的区别是什么? 

 

自定义拦截器

1. 创建拦截器类:让类实现HandlerInterceptor接口,重写接口中的三个方法

@Component
//定义拦截器类,实现HandlerInterceptor接口
public class ProjectInterceptor implements HandlerInterceptor {
    @Override
    //原始方法调用前执行的内容
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        System.out.println("preHandle...");
        return true;
    }
​
    @Override
    //原始方法调用后执行的内容
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
        System.out.println("postHandle...");
    }
​
    @Override
    //原始方法调用完成后执行的内容
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
        System.out.println("afterCompletion...");
    }
}

 

2. 配置拦截器类:在WebMvcConfigurer中注册该拦截器,并告诉spring哪些路径需要拦截,哪些路径不需要拦截

@Configuration
public class InterceperConfig implements WebMvcConfigurer {
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        //添加拦截器
        InterceptorRegistration interceptorRegistration = registry.addInterceptor(new ProjectInterceptor());
        //如下的路径不拦截,多个路径用逗号分隔
        interceptorRegistration.excludePathPatterns("/demo/test2");
        //拦截如下路径
        interceptorRegistration.addPathPatterns("/**");
    }
}

2.1. 配置多个拦截器

 拦截器的运行顺序

 



 

标签:Exception,拦截器,Java,路径,HttpServletResponse,Override,Interceptor,public
From: https://www.cnblogs.com/ShengLiu/p/17694844.html

相关文章

  • Java 中的比较 equals 和 ==
    这个问题在Java面试的时候大概率会被问到。不是因为这个问题有什么复杂的,只是因为这个地方超出人类认知,你相信吗?比较什么如果你上培训班或者在学校学习的话,你的老师大概率可能会告诉你对于:基本类型:比较的是值是否相同;引用类型:比较的是引用是否相同;本来这里就有点复杂了,还非要搞出......
  • 说完 Java 的 Abstract 后再来说说接口 (interface )
    如你对Abstract修饰的抽象类不是非常了解的话,请自行先考古下。这篇文章需要对Java定义过的抽象类有一些基本的了解才可以。抽象类和抽象方法用Abstract修饰的类,叫做抽象类,那么用Abstract修饰的方法叫做抽象方法。在Java中,喜欢用一些修饰关键字来对类或者变量或者方法来进......
  • 说完 Java 的 Abstract 后再来说说接口 (interface )
    如你对Abstract修饰的抽象类不是非常了解的话,请自行先考古下。这篇文章需要对Java定义过的抽象类有一些基本的了解才可以。抽象类和抽象方法用Abstract修饰的类,叫做抽象类,那么用Abstract修饰的方法叫做抽象方法。在Java中,喜欢用一些修饰关键字来对类或者变量或者方......
  • Java有关链表的基本操作
    上一篇发表的数组的基本操作,但是数组有优势也有劣势:·具体的优势是:拥有高效的随机访问能力·劣势是:由于排列紧密相连,插入和删除元素都会导致大量元素被迫移动,影响效率。接下来要阐述的数据结构是链表:·先看看单向链表的结构:单向链表的每一个节点又包含两个部分,一部分......
  • 3. Java数据类型
    Java数据类型:基本数据类型和引用数据类型前面我们提到 Java 语言是强类型语言,编译器存储在变量中的数值具有适当的数据类型。学习任何一种编程语言都要了解其数据类型,本文将详细介绍Java中的数据类型。Java语言支持的数据类型分为两种:基本数据类型(PrimitiveType)和引用数据......
  • Java实现简易论文查重
    https://github.com/stopyc/3121005018Java实现简易论文查重软件工程https://edu.cnblogs.com/campus/gdgy/CSGrade21-12作业要求https://edu.cnblogs.com/campus/gdgy/CSGrade21-12/homework/13014作业目标学习使用Java建立工程项目,学会论文查重的具体实现步骤......
  • 2.1 Java程序设计基础
    1Java程序设计基础1.1要想编写规范、可读性高的Java程序,就必须对Java基本语法有所了解。基本语法是所有编程语言都必须掌握的基础知识,也是整个程序代码不可缺少的重要部分。一个Java程序通常由数据类型、变量、运算符和控制流程语句4部分组成。其中数据类型和运算符不仅......
  • Java集合
    集合框架单列集合:双列集合:集合和数组的区别长度:数组固定长度内容:集合只能是引用类型元素:数组只能存储同一类型Collection接口实现类有些可以重复,有些有序,没有直接实现,而是子接口//常用方法list.add(true)//可以添加不同类型 .remove(true)//可以按索引也可以直接删......
  • 无涯教程-JavaScript - ODDFPRICE函数
    描述ODDFPRICE函数返回面值为$100的第一期奇数(短期或长期)证券的价格。语法ODDFPRICE(settlement,maturity,issue,first_coupon,rate,yld,redemption,frequency,[basis])争论Argument描述Required/OptionalSettlement证券的结算日期。证券结算日期是指在......
  • Java(day10):注释
    Java注释前言在编写代码时,注释一直被认为是良好编程实践的一部分。注释可以帮助提高代码的可读性,减少代码的维护成本,同时也是文档化代码的一种方式。本文将介绍Java中的注释类型及其用法。摘要本文将讨论Java中的三种注释类型:单行注释,多行注释和文档注释,并提供一些最佳实践和示......