spring boot 拦截器


@SpringBootApplicationpublic class Application extends WebMvcConfigurerAdapter {

    public static void main(String[] args) {        //String[] arss=  environment.getActiveProfiles();        SpringApplication.run(Application.class, args);

    }

    @Bean    public HandlerInterceptor getMyInterceptor(){        return new MyInterceptor();    }    @Override    public void addInterceptors(InterceptorRegistry registry) {        // 多个拦截器组成一个拦截器链        // addPathPatterns 用于添加拦截规则        // excludePathPatterns 用户排除拦截        registry.addInterceptor(getMyInterceptor()).addPathPatterns("/**");        super.addInterceptors(registry);    }
package myboot.example.common;

import org.apache.naming.factory.BeanFactory;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.Bean;import org.springframework.core.env.Environment;import org.springframework.web.context.support.WebApplicationContextUtils;import org.springframework.web.servlet.HandlerInterceptor;import org.springframework.web.servlet.ModelAndView;

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

/** * Created by cxlings on 2016/7/24. */public class MyInterceptor implements HandlerInterceptor {

    private static final Logger LOGGER = LoggerFactory.getLogger(MyInterceptor.class);

    @Autowiredprivate Environment env;

    public boolean preHandle(HttpServletRequest request,                             HttpServletResponse response, Object handler) throws Exception {       String ss[]=env.getActiveProfiles();

      for(String a :ss){          LOGGER.info("aaa="+a);      }        String url = request.getRequestURL().toString();        String id = "2143";// request.getParameter("id");System.out.printf(" springurl=" + url + "id=" + id);        return true;    }

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

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

    }

}

运行启动的命令

 java -jar myboot-1.0-SNAPSHOT.jar --spring.profiles.active=product

参考地址

http://www.bkjia.com/Javabc/1096806.html

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html
@SpringBootApplicationpublic class Application extends WebMvcConfigurerAdapter {

    public static void main(String[] args) {        //String[] arss=  environment.getActiveProfiles();SpringApplication.run(Application.class, args);

    }

    @Beanpublic HandlerInterceptor getMyInterceptor(){        return new MyInterceptor();    }    @Overridepublic void addInterceptors(InterceptorRegistry registry) {        // 多个拦截器组成一个拦截器链// addPathPatterns 用于添加拦截规则// excludePathPatterns 用户排除拦截registry.addInterceptor(getMyInterceptor()).addPathPatterns("/**");        super.addInterceptors(registry);    }
时间: 2024-10-11 04:12:40

spring boot 拦截器的相关文章

spring boot拦截器WebMvcConfigurerAdapter,以及高版本的替换方案

最近项目采用spring icloud,用的spring boot版本是1.5.x的,spring boot 2.0,Spring 5.0 以后WebMvcConfigurerAdapter会取消掉.以下介绍下大体的内容,希望对大家都有所帮助. 以下WebMvcConfigurerAdapter 比较常用的重写接口 /** 解决跨域问题 **/ public void addCorsMappings(CorsRegistry registry) ; /** 添加拦截器 **/ void addI

22. Spring Boot 拦截器HandlerInterceptor【从零开始学Spring Boot】

转:http://blog.csdn.net/linxingliang/article/details/52069495 上一篇对过滤器的定义做了说明,也比较简单.过滤器属于Servlet范畴的API,与spring 没什么关系.     Web开发中,我们除了使用 Filter 来过滤请web求外,还可以使用Spring提供的HandlerInterceptor(拦截器). HandlerInterceptor 的功能跟过滤器类似,但是提供更精细的的控制能力:在request被响应之前.req

spring boot拦截器中获取request post请求中的参数

最近有一个需要从拦截器中获取post请求的参数的需求,这里记录一下处理过程中出现的问题. 首先想到的就是request.getParameter(String )方法,但是这个方法只能在get请求中取到参数,post是不行的,后来想到了使用流的方式,调用request.getInputStream()获取流,然后从流中读取参数,如下代码所示: String body = ""; StringBuilder stringBuilder = new StringBuilder(); Buf

Spring Boot拦截器实现并和swagger集成后使用拦截器的配置问题

1. 定义拦截器 LoginInterceptor LoginInterceptor.java是整个登录认证模块中的核心类之一,它实现了HandlerInterceptor类,由它来拦截并过滤到来的每一个请求:它的三个方法能分别作用于每个请求的不同生命周期,你可以根据自己的需要来加入相应的处理逻辑 原文地址:https://www.cnblogs.com/li150dan/p/12072023.html

spring boot 拦截器添加

@Configuration public class WebMvcConfig extends WebMvcConfigurerAdapter { @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new YourInterceptor()).addPathPatterns("/xx/**")//要拦截的请求 .excludePathPattern

Spring Boot 2.X(九):Spring MVC - 拦截器(Interceptor)

拦截器 1.简介 Spring MVC 中的拦截器(Interceptor)类似于 Servlet 开发中的过滤器 Filter,它主要用于拦截用户请求并作相应的处理,它也是 AOP 编程思想的体现,底层通过动态代理模式完成. 2.定义实现类 拦截器有两种实现方式: 1.实现 HandlerInterceptor 接口 2.继承 HandlerInterceptorAdapter 抽象类(看源码最底层也是通过 HandlerInterceptor 接口 实现) 3.HandlerIntercep

Spring 中拦截器与过滤器的区别

spring 中拦截器 与servlet 的filter 有相似之处.比如二者都是aop 编程思想的体现都能实现权限检查,日志记录等. 不同之处 使用范围不同 Filter 是Servlet 规定的.只能用于web 程序.而拦截器既可以用于Web 程序,也可以用于Apllicatioon,Swing程序中. 规范不同:Filter是在SerVlet 规范定义的,是Servlet容器支持的.而拦截器是在Spring 容器内的,Spring 框架所支持的. 使用资源不同:同其他代码块一样,拦截器也是

Spring 注解拦截器使用详解

Spring mvc拦截器 平时用到的拦截器通常都是xml的配置方式.今天就特地研究了一下注解方式的拦截器. 配置Spring环境这里就不做详细介绍.本文主要介绍在Spring下,基于注解方式的拦截器. 第一步:定义Interceptor 实现类 public class AuthInterceptor extends HandlerInterceptorAdapter { @Override public boolean preHandle(HttpServletRequest request

对于Spring MVC 拦截器的一些了解

Spring MVC 拦截器的执行顺序 应用场景 假设请求 localhost:8080/ 则要求直接重定向到 localhost:8080/login ; 定义拦截器顺序 permission login 执行顺序 pre 先执行先定义的,而 post 和 after 先执行后定义的. 原文地址:https://www.cnblogs.com/bjio/p/12242920.html