- Interceptor拦截器实现对每一个请求处理前后进行相关的业务,类似于servlet的Filter
- 普通的Bean去继承HandlerInterceptorAdapter或实现HandlerInterceptor来自定义拦截器
- 通过重写WebMvcConfigurerAdapter的addInterceptors方法来注册自定义的拦截器
示例如下:
在“springmvc简单构建一个项目(一)”的基础上增加以下这些:
1.自定义拦截器
package com.zgw.springmvc; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; /** * 实现HandlerInterceptor接口或继承HandlerInterceptorAdapter * 来实现自定义拦截器 * @author zan * */ public class InterceptorDemo implements HandlerInterceptor{ //请求前执行 @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"); request.removeAttribute("startTime"); long endTime = System.currentTimeMillis(); System.out.println("本次请求时间为:" + new Long(endTime - startTime)+"ms"); request.setAttribute("handlingTime", endTime - startTime); } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { } }
2.配置,在MySpringmvcConfig类中添加:
/* * 配置拦截器的Bean */ @Bean public InterceptorDemo interceptor() { return new InterceptorDemo(); } /* * 重写addInterceptors方法,注册一个拦截器 */ @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(interceptor()); }
3.运行,访问http://localhost:8080/springmvc_withoutwebxml/index,结果如下:
相关推荐
SpringMVC中的拦截器-拦截器方法的作用和执行顺序.avi
本篇文章主要介绍了防止SpringMVC拦截器拦截js等静态资源文件的解决方法,具有一定的参考价值,有兴趣的同学可以了解一下
极客学院java中级课程,SpringMVC系列教材——SpringMVC 中的拦截器与异常处理
SpringMVC学习(十二)——SpringMVC中的拦截器
企业级开发-SpringMVC使用拦截器实现用户登录权限验证实验报告
自定义拦截器的具体实现、自定义拦截器的配置方式、多个拦截器之间的执行执行顺序
SSM笔记-SpringMVC的自定义拦截器,简单实现拦截器,只需要跟着步骤写就好了,没有特别要注意的地方
spring+springMVC+mybatis拦截器分页
SpringMVC框架下对限定时间拦截(适用于初学者)
springmvc拦截器实现登录验证
SpringMVC拦截器例子详解,
springMVC 拦截器源代码 内有详细文档介绍操作 @Override public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception { //可以通过...
简单的SpringMVC小程序,用Intelli IDEA 编写的,实现拦截器功能,实现了简单的登录、退出功能,是入门的好程序
SpringMvc 拦截器 原理清楚,代码简单,值得学习!
springmvc 拦截器
文档内有springmvc拦截器的配置
【SpringMVC】 4.3 拦截器(csdn)————程序
基于springMVC的session拦截器.rar
基于springMVC拦截session中的某个值,一般情况下用于拦截session中用户信息是否存在
SpringMVC拦截器源代码