欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SpringMVC 配置Interceptor拦截器案例

程序员文章站 2022-07-09 18:18:46
...

1.拦截器作用

   SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。开发者可以自己定义一些拦截器来实现特定的功能。

2.自定义拦截器

       想要自定义拦截器,必须实现 HandlerInterceptor 接口。

 1 package com.springmvc.aftercom;
 2 
 3 import javax.servlet.http.HttpServletRequest;
 4 import javax.servlet.http.HttpServletResponse;
 5 
 6 import org.springframework.web.servlet.HandlerInterceptor;
 7 import org.springframework.web.servlet.ModelAndView;
 8 
 9 /**
10  * springmvc拦截器
11  * @author Administrator
12  *
13  */
14 public class MyInterceptor implements HandlerInterceptor{
15 
16     @Override
17     public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)
18             throws Exception {
19           System.out.println("afterCompletion方法在控制器的处理请求方法执行完成后执行,即视图渲染结束之后执行");
20     }
21 
22     @Override
23     public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
24             throws Exception {
25           System.out.println("postHandle方法在控制器的处理请求方法调用之后,解析视图之前执行");
26     }
27 
28     @Override
29     public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception {
30           System.out.println("preHandle方法在控制器的处理请求方法调用之后,解析视图之前执行");
31         return true;
32     }
33 
34     
35 }

3.在springmvc核心配置文件中配置拦截器

1     <!-- 配置拦截器 -->
2     <mvc:interceptors>
3         <mvc:interceptor>
4             <!-- 配置拦截器作用的路径 对某个模块拦截请求 /模块名/* -->
5             <mvc:mapping path="/**" />
6             <!--拦截器方法-->
7             <bean class="com.springmvc.aftercom.MyInterceptor"></bean>
8         </mvc:interceptor>
9     </mvc:interceptors>

4.测试结果

SpringMVC 配置Interceptor拦截器案例