`
knight_black_bob
  • 浏览: 857783 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

springboot 详解 (五)interceptor

阅读更多

 

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

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捐助),没钱捧个人场,谢谢各位。



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

 

 

 

 

 

 

分享到:
评论

相关推荐

    SpringBoot拦截器Filter的使用方法详解

    拦截器(Interceptor)和过滤器(Filter)在SpringBoot中用于在请求处理之前或之后执行特定任务,例如日志记录、权限检查或请求数据处理等。本文主要介绍如何在SpringBoot中使用拦截器和过滤器,以及它们之间的区别...

    基于SpringBoot企业级完善架构

    【SpringBoot企业级完善架构详解】 在现代企业级应用开发中,SpringBoot因其简洁的配置、快速的开发效率以及强大的整合能力,已经成为主流框架之一。本项目基于SpringBoot,结合了多个关键组件和技术,旨在构建一个...

    spring责任链模式详解

    1. **AOP(面向切面编程)**:在Spring AOP中,拦截器(Interceptor)就是一种责任链模式的应用。拦截器链可以按顺序调用,每个拦截器可以在方法调用前后执行自定义逻辑。如果一个拦截器不希望继续调用下一个拦截器...

    SpringBoot与PageHelper的整合示例详解.docx

    PageHelper的核心实现基于Mybatis的拦截器机制,通过Mybatis的Interceptor接口拦截Executor执行的SQL,插入分页语句,并对查询结果进行处理。它根据传入的分页参数动态生成LIMIT或OFFSET子句,实现了物理分页。同时...

    详解SpringBoot 解决拦截器注入Service为空问题

    在SpringBoot应用中,我们经常使用拦截器(Interceptor)来处理一些全局的请求逻辑,比如权限验证、日志记录等。然而,在实际开发过程中,可能会遇到在拦截器中注入Service为空的问题,这个问题通常是由于SpringBoot...

    springboot单元测试两种方法实例详解

    Spring Boot 单元测试两种方法实例详解 Spring Boot 框架在单元测试方面提供了多种方法,本文将详细介绍两种常用的单元测试方法,并通过示例代码对其进行详细解释。 方法一:使用 @RunWith 和 @SpringBootTest ...

    my_springboot_01.rar

    《SpringBoot集成Mybatis插件实现数据操作默认值与时间戳功能详解》 在现代的Web开发中,SpringBoot框架以其简洁高效的特性深受开发者喜爱,而Mybatis作为一款轻量级的持久层框架,更是与SpringBoot搭配得恰到好处...

    springboot config 拦截器使用方法实例详解

    package com.example.springboot.config.interceptor; ***ponent; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import javax.servlet....

    Springboot如何使用mybatis实现拦截SQL分页

    Springboot 使用 MyBatis 实现拦截 SQL 分页 拦截 SQL 分页的概念 在进行数据库操作时,分页是非常常见的需求。MyBatis 提供了拦截器机制,可以拦截 SQL 语句并对其进行修改以实现分页功能。在 Springboot 中使用 ...

    详解在Spring-Boot中实现通用Auth认证的几种方式

    Interceptor 是 Spring Boot 中的一种拦截器机制,它可以在 Controller 方法被执行前拦截请求。我们可以使用 Interceptor 来实现通用 Auth 认证。 首先,我们需要定义一个拦截器类 `AppkeyInterceptor`,该类需要...

    springBoot模板.zip

    《SpringBoot模板:整合定时任务与分页功能详解》 在现代Java开发中,Spring Boot以其简洁、快速的特性成为了主流框架。本教程将深入探讨如何在Spring Boot项目中实现定时任务和分页功能,帮助开发者提升应用的自动...

    SpringBoot多数据源配置(方式一:配置多个mapper扫描不同的包路径实现多数据源配置).docx

    ### Spring Boot多数据源配置详解 #### 一、引言 在实际的软件开发过程中,随着业务需求的多样化,单一的数据源已经无法满足所有场景的需求。例如,有时我们需要同时访问两个或更多的数据库来完成复杂的业务逻辑,...

    毕设项目:基于springboot+thyemleaf的超市管理系统.zip

    8. **其他组件**:如过滤器(Filter)、拦截器(Interceptor)、异常处理器(ExceptionHandler)等。 【知识详解】 1. **Spring Boot**:Spring Boot的核心特点是“约定优于配置”,它简化了Spring的配置,提供了...

    Springboot 2.X中Spring-cache与redis整合

    **Spring Boot 2.X 中 Spring Cache 与 Redis 整合详解** 在现代的 Web 应用开发中,缓存机制是提升系统性能的关键技术之一。Spring Cache 是 Spring 框架提供的一种统一的缓存抽象,它允许开发者通过简单的注解来...

    Springboot项目使用拦截器方法详解

    package com.leiyuan.bs.interceptor; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; ...

    高级软件人才培训专家-day12-SpringBootWeb 登录认证

    ### 高级软件人才培训专家-day12-SpringBootWeb 登录认证 #### 知识点概述 本课程主要讲解了如何在Spring Boot Web项目中实现登录认证功能,包括登录功能的设计与实现、登录校验机制及异常处理等内容。特别强调了...

    springboot整合 beatlsql的实例代码

    SpringBoot 整合 BeetlSQL 实例详解 SpringBoot 是一款快速开发框架,它简化了Spring应用的初始搭建以及开发过程。BeetlSQL 是一个强大的全功能DAO工具,它结合了Hibernate和Mybatis的优点,提供了高效且灵活的SQL...

    基于SSH的酒店网站管理系统源码.zip

    【SSH酒店网站管理系统详解】 SSH(Struts2 + Spring + Hibernate)是一个经典的Java Web开发框架,常用于构建高效、可维护的企业级应用。本系统基于SSH框架,旨在提供一个全面的酒店网站管理解决方案,帮助酒店...

    spring boot 注册拦截器过程详解

    Spring Boot 框架中,拦截器(Interceptor)是一种重要的机制,可以在Action执行前后执行特定的代码,或者阻止Action的执行。本文将详细介绍Spring Boot中注册拦截器的过程,并通过示例代码对其进行详细的解释。 一...

    详解利用SpringMVC拦截器控制Controller返回值

    在Spring MVC框架中,拦截器(Interceptor)是一个强大的工具,它可以对HTTP请求进行预处理(preHandle)、后处理(postHandle)以及清理工作(afterCompletion)。在这个场景中,我们利用拦截器来控制Controller...

Global site tag (gtag.js) - Google Analytics