SpringMVC 配置Interceptor攔截器案例


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.測試結果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM