首页 > 其他分享 >Spring拦截器(Interceptor)的使用

Spring拦截器(Interceptor)的使用

时间:2023-11-19 15:23:09浏览次数:36  
标签:拦截器 Spring springframework import org Interceptor servlet public

一.注册拦截器,定义一个类实现HandlerInterceptor接口,重写里面的三个方法,具体代码实现如下:

package com.luoluo.interceptor;

import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @BelongsProject: spring-demo01
 * @BelongsPackage: com.luoluo.interceptor
 * @Author: lijialuo
 * @CreateTime: 2023-11-19  14:34
 * @Description: TODO 拦截器Demo注册
 * @Version: 1.0
 */

@Component //交给IOC容器管理
public class DemoInterceptor implements HandlerInterceptor {
    @Override//目标资源方法运行前运行;返回true,放行;返回false,不放行
    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 {

    }
}
二.定义一个配置类,实现WebMvcConfigurer接口,用于配置拦截器信息;具体代码实现如下:
package com.luoluo.config;

import com.luoluo.interceptor.DemoInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * @BelongsProject: spring-demo01
 * @BelongsPackage: com.luoluo.config
 * @Author: lijialuo
 * @CreateTime: 2023-11-19  14:59
 * @Description: TODO
 * @Version: 1.0
 */
@Configuration //配置类注解
public class WebConfig implements WebMvcConfigurer {

    @Autowired
    private DemoInterceptor demoInterceptor;
    //注册拦截器
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        //调用registry里面的addInterceptor添加拦截器,addPathPatterns配置需要拦截的资源
        registry.addInterceptor(demoInterceptor).addPathPatterns("/**");
    }
}

 

 

 

标签:拦截器,Spring,springframework,import,org,Interceptor,servlet,public
From: https://www.cnblogs.com/lijialuo/p/17842069.html

相关文章

  • SpringCloud应用集成Nacos服务注册与发现
    SpringCloud应用集成Nacos服务注册与发现官方文档第一步:引入依赖版本见=>附录:根pom文件=>版本控制片段www.cnblogs.com/anhaoyan... <!--引入nacos用于服务注册与发现--><dependency><groupId>com.alibaba.cloud</groupId><artifact......
  • SpringCloud应用集成Nacos和Dubbo
    SpringCloud应用集成Nacos和Dubbo官网教程官方demo第一步:引入依赖版本见=>附录:根pom文件=>版本控制片段www.cnblogs.com/anhaoyan... <!--SpringBoot依赖--><dependency><groupId>org.springframework.boot</groupId><artifa......
  • Spring Boot 如何获取Excel sheet页的数量?
    前言在日常的开发中,我们经常需要读取Excel文件中的数据,其中涉及到获取Excel中sheet页的数量。本文将介绍如何使用SpringBoot获取Excelsheet页的数量。摘要本文主要介绍了如何使用SpringBoot获取Excel文件中sheet页的数量。首先通过POI库读取Excel文件,然后通过Workbook对象获......
  • 使用Swagger,在编写配置类时报错Caused by: java.lang.NullPointerException: Cannot i
    1.问题Causedby:java.lang.NullPointerException:Cannotinvoke"org.springframework.web.servlet.mvc.condition.PatternsRequestCondition.getPatterns()"because"this.condition"isnull2.解决参考链接:解决Cannotinvoke"org.springframework......
  • Spring的各jar包依赖及作用详解
    基于Spring5.0.2.RELEASEspring-core.jar(必须有的核心jar包)这个jar文件包含Spring框架基本的核心工具类。Spring其它组件要都要使用到这个包里的类,是其它组件的基本核心,当然你也可以在自己的应用系统中使用这些工具类。<dependencies><dependency><groupId......
  • springboot在线人数统计
    在线人数统计笔者做了一个网站,需要统计在线人数。在线有两种:一、如果是后台系统如果登录算在线,退出的时候或者cookie、token失效的时候就算下线二、如果是网站前台,访问的时候就算在线今天我们来讲一下第2种情况,网站前台如何统计同时在线人数1、首先创建一个在线人数管理类......
  • Spring Cloud Gateway路由加载过程
    SpringCloud2021.0.5相关类先认识下相关的几个类RoutePredicateFactory,断言工厂,用于创建具体的断言。GatewayFilterFactory,过滤器工厂,用于创建具体的过滤器。Predicate,断言接口。GatewayFilter,过滤器接口。RouteDefinition,路由定义对象,在yml里配置的路由规则其实就是......
  • SpringMVC参数绑定
    目录参数的绑定绑定的机制支持的数据类型使用要求使用示例基本类型和String类型作为参数POJO类型作为参数POJO类中包含集合类型参数请求参数乱码问题特殊情况自定义类型转换器使用场景使用ServletAPI对象作为方法参数参数的绑定绑定的机制我们都知道,表单中请求参数都是基于......
  • SpringMVC框架第一天
    目录SpringMVC的基本概念三层架构和MVC三层架构MVC模型MVC概述SpringMVC是什么SpringMVC在三层架构的位置SpringMVC的优势SpringMVC的入门SpringMVC的入门案例入门案例中的组件DispatcherServlet:前端控制器HandlerMapping:处理器映射器Handler:处理器HandlAdapter:处理器适配器ViewR......
  • axios向后台springboot服务器发送请求时出现的错误
    this.$axios.post("http://localhost:8080/changeExamStatus?billID="+this.tableData[index].billID).then((response)=>{if(response.data.code==1){alert("第"+(index+1)+"项申请单审核成功");}......