springboot 详解 (五)interceptor

简介:    ---------------------------------------------------------------------------------------------------------------- springboot 详解 (一) hellowo...

 

 ----------------------------------------------------------------------------------------------------------------

springboot 详解 (一) helloworld                                    下载demo          

springboot 详解 (二) crud                                             下载demo     

springboot 详解 (三) 多数据源                                        下载demo      

springboot 详解 (四)redis & filter                                    下载demo    

springboot 详解 (五)interceptor                                       下载demo     

springboot 详解 (六)servlet & scheduled & listener         下载demo     

springboot 详解(七) dubbox & zookeeper   下载(productor) 下载(constumser)

springboot 同步解耦 异步化 下载demo

springboot jenkins docker 部署 

springboot 详解(八) springboot & springcloud 

----------------------------------------------------------------------------------------------------------------

 

 

 

package com.curiousby.cn.interceptor;

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

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

import com.curiousby.cn.constants.Constants;
import com.curiousby.cn.one.entity.User;


public class LoginAuthInterceptor implements HandlerInterceptor {

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
                             Object handler)
            throws Exception {  
        User user = (User)request.getSession().getAttribute(Constants.USER);
        if (null == user) {
            response.sendRedirect("/SpringBootWebDemo/web/static/forward");
            return false;
        }
        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 { 
        
    }

  

}

 

 

 

package com.curiousby.cn.configurer;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

import com.curiousby.cn.interceptor.LoginAuthInterceptor;


@Configuration
public class WebAppConfigurer extends WebMvcConfigurerAdapter {

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new LoginAuthInterceptor()).addPathPatterns("/web/**").excludePathPatterns("/web/static/**"); 
        super.addInterceptors(registry);
    }
    
    
    
    //优先级 :META-INFO/resources > resources > static > public 
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/img/**").addResourceLocations("classpath:/img/");
        super.addResourceHandlers(registry);
    }
}

 

 

访问 http://localhost:8080/SpringBootWebDemo/web/users/7

 会自动重定向到

http://localhost:8080/SpringBootWebDemo/web/static/forword

 

拦截器中添加了SpringBootWebDemo 这是我的工程名

server.context-path=/SpringBootWebDemo

 

也许默认更好点

 

 

 

 

 

 

 

 

 

 

 

 

 

 

捐助开发者

在兴趣的驱动下,写一个免费的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。



 
 
 谢谢您的赞助,我会做的更好!

 

 

 

 

 

 

目录
相关文章
|
3月前
|
Java
SpringBoot中的拦截器 interceptor
SpringBoot中的拦截器 interceptor
16 0
|
NoSQL 安全 Java
SpringBoot幂等性防重token令牌实现方案(redis+annoation+interceptor实现)
SpringBoot幂等性防重token令牌实现方案(redis+annoation+interceptor实现)
SpringBoot幂等性防重token令牌实现方案(redis+annoation+interceptor实现)
|
监控 Java Apache
Spring Boot拦截器(Interceptor)详解
Spring Boot拦截器(Interceptor)详解
502 0
Spring Boot拦截器(Interceptor)详解
Java:SpringBoot集成filter过滤器、interceptor拦截器
Java:SpringBoot集成filter过滤器、interceptor拦截器
159 0
Java:SpringBoot集成filter过滤器、interceptor拦截器
|
安全 Java Maven
SpringBoot之拦截器Interceptor使用姿势介绍
在SpringMVC中,拦截器与Filter两者的应用场景好像差不多,最大的区别可能是前者属于Spring的特产,而后者则是Servlert三剑客中的一个,它们本质的区别在于两者发生的时机不一致
189 0
SpringBoot之拦截器Interceptor使用姿势介绍
|
SQL XML Java
【SpringBoot + Mybatis系列】插件机制 Interceptor| 8月更文挑战
本文将主要介绍一下自定义 Interceptor 的使用姿势,并给出一个通过自定义插件来输出执行 sql,与耗时的 case
160 0
【SpringBoot + Mybatis系列】插件机制 Interceptor| 8月更文挑战
|
Java Spring
Java:SpringBoot集成filter过滤器、interceptor拦截器
Java:SpringBoot集成filter过滤器、interceptor拦截器
167 0
Java:SpringBoot集成filter过滤器、interceptor拦截器
|
XML 架构师 前端开发
SpringBoot从小白到精通(十)使用Interceptor拦截器,一学就会!
使用Spring Boot开发web项目有个非常重要的组件:拦截器。以前我们在做mvc 项目时也使用到的是filter过滤器也就是拦截器。其实Spring Boot 中的拦截器和SpringMVC中的拦截器也是类似的,只是配置上有些区别。那么下面我们就来看看Spring Boot 是怎么配置拦截器的。
SpringBoot从小白到精通(十)使用Interceptor拦截器,一学就会!
|
前端开发 Java Spring
Spring Boot 2.X(九):Spring MVC - 拦截器(Interceptor)
拦截器 1.简介 Spring MVC 中的拦截器(Interceptor)类似与 Servlet 开发中的过滤器 Filter,它主要用于拦截用户请求并作相应的处理,它也是 AOP 编程思想的体现,底层通过动态代理模式完成。
1430 0