首页 > 其他分享 >springboot 拦截器配置

springboot 拦截器配置

时间:2023-06-01 23:08:03浏览次数:53  
标签:拦截器 springboot MyInterceptor 配置 springframework org import servlet public


 

 

创建目录 interceptor——MyInterceptor.java文件,该文件实现 HandlerInterceptor 接口

springboot 拦截器配置_spring拦截器

 

MyInterceptor.java文件实现 HandlerInterceptor接口代码如下:

springboot 拦截器配置_spring_02

 

代码案例:(已验证cookie为案列)

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.servlet.HandlerInterceptor;

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

public class MyInterceptor implements HandlerInterceptor {
    @Value("${token.name}")
    String tokenName;

    @Value("${token.value}")
    String tokenValue;

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        System.out.println("拦截的请求"+request.getRequestURI());
        Cookie[] cookies = request.getCookies();
        for(int i = 0 , length = cookies.length ; i< length ; i++){
            if(cookies[i].getName().equals(tokenName) && cookies[i].getValue().equals(tokenValue)){
                return true;
            }
        }
        request.getRequestDispatcher("/nologin").forward(request,response);
        return false;
    }
}

 

拦截器也主要有三个方法:

其中preHandle是在请求之前就进行调用,如果该请求需要被拦截,则返回false,否则true;

postHandle是在请求之后进行调用,无返回值;

afterCompletion是在请求结束的时候进行调用,无返回值。

 

 

 

创建目录 config —— MvcAppConfig.java文件 实现 WebMvcConfigurer接口

 

springboot 拦截器配置_java文件_03

 

代码如下:

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

import xyz.ark.backstage_09.interceptor.MyInterceptor;

import java.util.ArrayList;
import java.util.List;

@Configuration
public class MvcAppConfig  implements  WebMvcConfigurer{     //这里其实 也可以 去继承 extends  WebMvcConfigurerAdapter类 重写方法

    /**
     * 添加拦截器
     * @param registry
     */
    @Bean
    public MyInterceptor myInterceptor(){
        return new MyInterceptor();
    }

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        List list = new ArrayList();
        list.add("/user/find");
        list.add("/index");

        //addInterceptor(添加自定义的拦截器)   addPathPatterns(要拦截的路径) excludePathPatterns(放心的路径)
        registry.addInterceptor(myInterceptor()).addPathPatterns(list); 
    }
}

 

 

 

搞定!!!

springboot 拦截器配置_spring拦截器_04

 

 

 

 

 

 

 

 

 

 

 

 

 

标签:拦截器,springboot,MyInterceptor,配置,springframework,org,import,servlet,public
From: https://blog.51cto.com/u_14671216/6398485

相关文章

  • VsCode开发 Java Maven Springboot
    安装java相关的扩展插件在VisualStudioCode中打开扩展(Ctrl+Shift+X),输入关键词java、spring分别下载Java开发插件包和springboot插件包 配置参数点击设置按钮,进入设置选项,配置用户设置(文件->首选项->设置  Ctrl+,)添加如下代码:"java.errors.incompleteClasspath.severity......
  • springboot 中配置Swagger2
     1.引入依赖<!--swagger2依赖--><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version></dependency......
  • IDEA+Maven启动SpringBoot项目或Spring项目出现程序包XXX不存在
    博主我主要是IDEA2020.1的版本上出现过这个问题,以下三种方法是网上提供的,但是我都试了一下多多少少都有些问题,最好的方法是直接更换IDEA的版本,换成IDEA2019的版本就不会出现这种问题了。 下面是网上的解决方案:你的pom中的依赖(是否缺少,版本是否兼容)maven仓库等配置没有问题的情况......
  • springboot打包jar文件运行后无法读取jar目录中的Excel模板文件
    原因:SpringBoot内嵌web容器,其特点是只有一个jar文件,在容器启动后不会解压缩。解决方式:1.必须使用相对路径读取文件;假设你的模板文件放在了resources—>templates—>xlsx—>test.xlsx2.只能使用流去读取,不能用file;//jar里面文件读取方式: ClassPathResourceclassPathRes......
  • 如何SpringBoot项目改为外置Tomcat启动
    如何SpringBoot项目改为外置Tomcat启动 正常情况下,我们开发SpringBoot项目,由于内置了Tomcat,所以项目可以直接启动,部署到服务器的时候,直接打成jar包,就可以运行了(使用内置Tomcat的话,可以在application.yml中进行相关配置)有时我们会需要打包成war包,放入外置的Tomcat......
  • IDEA 创建JavaWeb项目(不依赖 springboot)手动整合 SSM框架
    目录 1.创建一个Maven项目2.创建webapp和WEB-INF目录即可3.设置web.xml文件和web文件目录4.导入相关ssm框架的pom依赖文件5.创建对应的包结构:6.添加配置文件(配置mybatis、spring、springMvc等配置文件)7.web.xml配置文件8. 配置本地Tomcat运行9.打包发布1.创建一个Mav......
  • Centos上配置服务开机自启动的3种方式
    前言  在服务器上安装的各种中间件,为了防止意外宕机重启导致的后果,一般都需要配置成开机自启动。但是有些中间件的安装过程中并没有提供相关配置开机自启动的说明文档。今天和各位大朋友们聊一聊Centos上配置服务开机自启动的几种方式。Centos下配置服务开机自启动有3种方式:......
  • 基于JAVA的springboot+vue财务管理系统,附源码+数据库+论文+PPT
    1、项目介绍随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代,财务管理系统就是信息时代变革中的产物之一。任何系统都要遵循系统设计的基......
  • SpringBoot SSM vue 在线办公系统
    SpringBootSSMvue在线办公系统系统功能登录忘记密码首页统计分析用户管理员工管理公告管理考勤管理绩效管理薪酬管理流程管理留言管理文件管理开发环境和技术开发语言:Java使用框架:SpringBoot或SSM +Mybatis+MysqlSpringBoot是一个用于构建Java应用......
  • 使用dom4j解析mybatis核心配置文件
    1. 代码   32-34test代码在com.powernode.xml.testParseXMLByDom4jTestpackagecom.powernode.xml.test;importorg.dom4j.Document;importorg.dom4j.Element;importorg.dom4j.Node;importorg.dom4j.io.SAXReader;importorg.junit.Test;importjava.io.InputStream......