首页 > 其他分享 >【SpringBoot学习】3、SpringBoot 多个版本配置简单的拦截器

【SpringBoot学习】3、SpringBoot 多个版本配置简单的拦截器

时间:2023-08-03 17:11:56浏览次数:49  
标签:Exception 拦截器 SpringBoot Object HttpServletResponse 版本 Override public

springboot1.x 和 springboot2.x 配置拦截器区别就在于注册拦截器的方式不同,springboot1.x 配置方法是:

public class WebAppConfig extends WebMvcConfigurerAdapter {

springboot2.x 配置方法是:

public class LoginConfigurer implements WebMvcConfigurer {

下面详细的介绍使用方法。

一、springboot1.x 配置方法

1、注册拦截器

public class WebAppConfig extends WebMvcConfigurerAdapter {

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        //注册自定义拦截器,添加拦截路径和排除拦截路径
        registry.addInterceptor(new InterceptorConfig()).addPathPatterns("user/**").excludePathPatterns("admin/login");
    }
}

2、实现 实现 HandlerInterceptor 接口

public class InterceptorConfig  implements HandlerInterceptor {

    @Override
    public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {

    }

    @Override
    public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {

    }

    @Override
    public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {

    }
}

二、springboot2.x 配置方法

一、注册拦截器

@Configuration
public class LoginConfigurer implements WebMvcConfigurer {

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        // 添加一个拦截器,连接以/authorize为前缀的url路径
        registry.addInterceptor(new LoginURLInterceptor()).addPathPatterns("/pageController/authorize/**");
    }
}

2、实现 HandlerInterceptor 接口

public class LoginURLInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        System.out.println("访问了/pageController/loginPage路径。");
        return true;
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {

    }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {

    }
}

标签:Exception,拦截器,SpringBoot,Object,HttpServletResponse,版本,Override,public
From: https://www.cnblogs.com/mountainstudy/p/17603862.html

相关文章

  • AI全版本下载AI最新版下载AI 官方版特色
    Adobeillustrator2023上线了,支持macOS11及更高版本,极大的提高了工作效率。借助这款AI2023中文版矢量图形软件,您可以制作适用于印刷、Web、视频和移动设备的徽标、图标、绘图、版式和插图的矢量图设计,这是广大设计师常用的软件之一。同时,您还可以创建用于大幅面打印(例如广告牌)的......
  • 【SpringBoot学习】2、idea 配置 SpringBoot 热启动详解,和热启动失效解决方案
    一、idea配置springboot热启动方法1、添加spring-boot-devtools的包,true必须加上。<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional></d......
  • Haxx curl 控件版本升级
    Haxxcurl7.65.1_2之前版本中存在代码注入漏洞,将版本升级可解决代码注入漏洞(CVE-2019-5443)https://curl.se/download.html  官网下载windows版本升级  2,解压,复制curl.exe到Windows的系统环境目录,默认是C:\Windows\System32 3,下载安装VisualStudio2010C++Runt......
  • 【SpringBoot学习】1、SpringBoot 配置 jsp 模板引擎
    springboot整合jsp页面创建springboot项目就不废话了。在原来的基础上直接加东西就可以了1、添加jsp支持的jar包<!--servlet依赖--><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><scope>provid......
  • python以及java环境搭建+解决不同版本环境共存问题
    1.搭建python环境1.安装python3.9.7,选择自定义安装、将文件添加至环境路径,然后选择下一步。2.默认、然后选择下一步。3.选择适用于所有使用者,选择自己想要存放的路径,然后选择点击安装。等待片刻。。。4.点击安装完成。使用cdm命令,输入python查看是否安装成功。5.安装python2......
  • SpringBoot 整合 redis-阿里云发送短信
    pom<dependencies><!--阿里云短信--><dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-core</artifactId><version>4.5.16</version>......
  • docker部署项目,涉及springboot\tomacat\nginx\es
    sudoapt-getinstalldocker-ce=5:20.10.6~3-0~debian-bullseyedocker-ce-cli=5:20.10.6~3-0~debian-bullseyecontainerd.iodocker部署项目信息:--172.17.0.1   172.16.22.401、docker部署tomcatdockerrun-d --namestock-admin--restartalways-p81:8080-e"TZ......
  • SD 手动安装-conda版本
    gitclonehttps://github.com/AUTOMATIC1111/stable-diffusion-webui.git使用git克隆项目gitclonehttps://github.com/AUTOMATIC1111/stable-diffusion-webui.git切换到克隆目录cdstable-diffusion-webui再目录中初始化conda环境#Createenvironmentcondacreate-nStableDi......
  • @SpringBootTest
     1.学会使用Test,让自己的代码不再有bug——@SpringBootTest的妙用 https://baijiahao.baidu.com/s?id=1760961522946985249&wfr=spider&for=pc2.SpringBootTest人类使用指南https://zhuanlan.zhihu.com/p/111418479  3.解析“@ExtendWith注解“https://blog.csdn......
  • Dialer 拨号显示----版本号
    Dialer拨号显示版本号修改文档:vendor/mediatek/proprietary/packages/apps/Dialer/java/com/android/dialer/dialpadview/SpecialCharSequenceMgr.java定义全局变量:privatestaticfinalStringVERSION_DISPLAY="*#88#";方法内新增判断:staticbooleanhandleDeviceIdDi......