栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springboot的拦截器使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springboot的拦截器使用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录
  • 前言
  • 一、自定义一个拦截器类
  • 二、引入和使用拦截器
    • 1.引入
    • 2.使用
  • 总结


前言

学会springmvc的拦截器的使用

一、自定义一个拦截器类

在springboot同目录下创建一个web目录存放自定义拦截器

                                        

创建一个普通类实现HandlerInterceptor,实现方法preHandle。在里面可以自定义拦截的规矩

package com.hello.testspringbootdemo02.web;

import org.springframework.web.servlet.HandlerInterceptor;

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

    public class handler implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

        System.out.println("chenggongle");
        return true;

    }
}
二、引入和使用拦截器 1.引入

在和启动类同目录下创建config文件夹存放拦截器实现类

                                

 创建普通类实现WebMvcConfigurer接口,实现addInterceptors方法。在里面引用自定义的拦截器和拦截地址和排斥拦截地址

在类上添加configuration注解

package com.hello.testspringbootdemo02.config;

import com.hello.testspringbootdemo02.web.handler;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class myappconfig implements WebMvcConfigurer {
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        handler had=new handler();
        String ok[]={"/user/**"};
        String no[]={"/user/login"};
        registry.addInterceptor(had).addPathPatterns(ok).excludePathPatterns(no);
    }
}
 

2.使用

和启动类同目录下创建contoller目录,在目录下创建contoller类

package com.hello.testspringbootdemo02.controler;

import com.sun.xml.internal.bind.v2.util.QNameMap;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class controler_hello {

    @ResponseBody
    @RequestMapping("/hello")
    public String hello()
    {
        return "hello,nihao";
    }

    @ResponseBody
    @RequestMapping("/hello1")
    public String hello1()
    {
        return "hello,nihao1";
    }

    @Value("${name}")
    private String name;

    @ResponseBody
    @RequestMapping("/text")
    public String text(){
        return name;
    }

    @RequestMapping("/user/login")
    @ResponseBody
    public String login(){
        return "lgin";
    }


    @RequestMapping("/user/get")
    @ResponseBody
    public String get(){
        return "get";
    }

}

启动启动类,游览地址即可显示效果


总结

拦截器

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1008795.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号