1.继承HandlerInterceptorAdapter实现自定义的拦截器
2.重写preHandle方法 ,在请求发生前执行
3.重写postHandle方法,在请求完成之后执行
public class MyMvcInterceptor extends HandlerInterceptorAdapter{
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
long startTime = System.currentTimeMillis();
request.setAttribute("startTime",startTime);
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
long startTime = (long)request.getAttribute("startTime");
long endTime = System.currentTimeMillis();
System.out.println("本次请求时间为:"+(endTime - startTime) + " ms");
super.postHandle(request, response, handler, modelAndView);
}
}
配置拦截器bean
重写addInterceptors方法,注册拦截器
@SpringBootApplication
@EnableAsync
public class DemoApplication extends WebMvcConfigurerAdapter{
@Bean
public MyMvcInterceptor myMvcInterceptor(){
return new MyMvcInterceptor();
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(myMvcInterceptor());
}
public static void main(String[] args)
{
SpringApplication.run(DemoApplication.class, args);
}
}
- 大小: 183.8 KB
分享到:
相关推荐
这个"参照阿里druid个人整理druid-spring-boot-starter可运行demo"是基于Spring Boot 2.x版本的,包含了Druid的基本配置和使用。为了构建一个完整的Druid配置,你需要以下几个步骤: 1. **依赖添加**:在`pom.xml`...
- 解压:使用`tar -zxvf spring-boot-starter-mybatis-spring-boot-3.0.0.tar.gz`命令解压文件。 - 运行:根据项目结构,使用Java命令运行JAR包,例如`java -jar target/your-app.jar`。 5. **最佳实践**: - ...
而拦截器(Interceptor)是Spring MVC提供的一种增强型功能,可以对请求和响应进行预处理和后处理,例如权限验证、日志记录等。 自定义XML配置通常会涉及到Spring的`<beans>`标签和`<bean>`标签,用于声明和实例化...
具有Spring Boot Starter-gRPC Java JWT 使用Auth模块扩展出色的。 使用类似于Spring Security模块中使用的简单注释的简单实现。 快速开始 (尝试示例项目:Kotlin中的。) 简单的开始仅由3个简单的步骤组成。 ...
在本文中,我们将深入探讨如何将Spring Boot与MyBatis集成,并使用Mapper进行数据库操作,同时实现自动分页功能。Spring Boot以其简化配置和快速启动的特性,成为了现代Java开发中的首选框架。MyBatis则是一款优秀的...
这个“spring-boot.zip”压缩包包含了一个使用Maven构建的Spring Boot工程模板,它整合了多种实用功能,如Swagger用于API文档,以及过滤器、拦截器、监听器和Servlet等核心组件。 1. Maven:Maven 是一个项目管理...
Spring Boot 是一个由 Pivotal 团队创建的 Java 框架,旨在简化 Spring 应用程序的初始搭建以及开发过程。它提供了一种“开箱即用”的体验,集成了大量的常用库,如数据访问、安全、WebSocket 等,让开发者能够快速...
本篇文章将详细探讨如何在Spring Boot中添加和使用拦截器来实现登录拦截。 首先,我们需要了解Spring Boot中的拦截器是如何工作的。在Spring MVC框架中,拦截器是基于AOP(面向切面编程)的概念实现的。我们可以...
PageHelper是Spring Boot项目中广泛使用的数据库分页插件,尤其在处理大数据量查询时,它的效率和便捷性得到了开发者们的认可。这个"pagehelper-spring-boot-master.zip"压缩包包含了一个完整的PageHelper分页插件与...
Interceptor 是 Spring Boot 中的一种拦截器机制,它可以在 Controller 方法被执行前拦截请求。我们可以使用 Interceptor 来实现通用 Auth 认证。 首先,我们需要定义一个拦截器类 `AppkeyInterceptor`,该类需要...
在Spring Boot 2.x中,我们不再直接通过XML配置注册拦截器,而是使用`WebMvcConfigurer`接口的`addInterceptors`方法。下面是一个简单的示例: ```java @Configuration public class WebConfig implements ...
7. **与Spring Framework的深度集成**:Spring Security 能无缝地与Spring MVC、Spring Boot和其他Spring组件集成,简化了安全配置和开发流程。 8. **自定义扩展**:Spring Security 的设计是模块化的,允许开发者...
开源地址系统要求基于 spring-boot 开发(spring-boot1.x, spring-boot2.x 均可)需要使用 redis工作流程kk-anti-reptile 使用 对请求进行过滤,通过 spring-boot 的扩展点机制,实例化一个Spring HandlerInterceptor ...
虽然标题没有明确提到Spring Boot,但通常我们使用Spring Boot来简化Spring项目的搭建过程。在Spring Boot中,只需要添加`spring-boot-starter-web`依赖,它会自动包含`spring-web`和其他必要的Web组件: ```xml ...
9. **Spring Boot集成**:虽然Spring Web本身不依赖于Spring Boot,但它们通常一起使用,Spring Boot简化了Spring Web的配置和启动过程。 在使用"spring-web-5.2.4"这个版本时,开发者可以获得官方稳定版本带来的...
spring boot jwt 和 interceptor的例子。 其中jwt的例子网上有很多,但是都是要数据库支持,这个只是用假数据模拟,不需要数据库支持。另外还有一个拦截器的简单例子。已经在sts 4 测试通过。
该插件项目可以直接运用于实际开发中,作为分布式数据库表主键ID使用。 一、项目概述 1、项目背景 在生成表主键ID时,我们可以考虑主键自增 或者 UUID,但它们都有很明显的缺点 主键自增:1、自增ID容易被爬虫遍历...
<artifactId>pagehelper-spring-boot-starter <version>5.1.6 ``` - **配置PageHelper**:在application.properties或application.yml中配置PageHelper的相关参数,如数据库类型、合理化等: ```properties ...
4. 结合 Spring Boot 进行快速开发,简化配置过程。 5. 利用 RestTemplate 或 WebClient 实现微服务间的通信。 总结,Spring MVC 是一个强大且灵活的 Web 开发框架,通过深入了解其源码和工作原理,开发者可以更好...
6. **拦截器(Interceptor)**:Spring MVC的拦截器允许开发者在请求处理前后进行预处理和后处理,实现如权限验证、日志记录等功能。 7. **RESTful支持**:Spring MVC支持构建RESTful风格的Web服务,方便与其他系统...