一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - Spring MVC 攔截器實現(xiàn)代碼

Spring MVC 攔截器實現(xiàn)代碼

2020-08-19 11:241whispers Java教程

本篇文章主要介紹了Spring MVC 攔截器的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下。

攔截器的實現(xiàn)

1、編寫攔截器類實現(xiàn)HandlerInterceptor接口;

2、將攔截器注冊進(jìn)springmvc框架中;

3、配置攔截器的攔截規(guī)則;

其他實現(xiàn)方法

WebRequestInterceptor接口:

與上一個的區(qū)別是參數(shù)區(qū)別和prehandle的方法沒有返回值。沒有上一個功能全,因此常用第一個。

攔截器的使用場景

處理所有請求共性問題:

1、亂碼問題:用request,response參數(shù)去設(shè)置編碼;

2、解決權(quán)限驗證問題(是否登陸,取session對象查看);

攔截器與過濾器的區(qū)別

1、攔截器Interceptor依賴于框架容器,基于反射機(jī)制,只過濾請求;

2、過濾器Filter依賴于Servlet容器,基于回調(diào)函數(shù),過濾范圍大;

例子

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
 
public class TestInterceptor implements HandlerInterceptor {
 
  /**
   * 返回值說明是否需要將當(dāng)前的請求攔截下來
   * false:請求將被終止
   * true:請求會被繼續(xù)運(yùn)行
   * Object handler 表示的是被攔截的請求的目標(biāo)對象
   */
  @Override
  public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
      throws Exception {
    System.out.println("TestInterceptor.preHandle()");
    return true;
  }
  /**
   * modelAndView:
   *   可以通過modelAndView參數(shù)改變顯示的視圖,或者修改發(fā)往視圖的方法
   */
  @Override
  public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
      ModelAndView modelAndView) throws Exception {
    System.out.println("TestInterceptor.postHandle()");
     
  }
  /**
   * 在視圖加載完畢之后調(diào)用
   * 常用于作于資源的銷毀,流等
   * 類似于析構(gòu)函數(shù)
   */
  @Override
  public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
      throws Exception {
    System.out.println("TestInterceptor.afterCompletion()");  
  }
}

注冊方式:

在springmvc的Dispatcherservlet配置文件中加入攔截器代碼;

?
1
2
3
4
5
6
7
8
9
10
11
12
<!-- 注冊攔截器 -->
 <mvc:interceptors>
  <!-- 單個攔截器:設(shè)置具體的攔截路徑 -->
  <mvc:interceptor>
    <mvc:mapping path="/courses/view2/*"/>
    <bean class="com.cc.mvcdemo.interceptor.TestInterceptor"></bean>
  </mvc:interceptor>
   
  <!-- 第二種方式:攔截經(jīng)過當(dāng)前Dispatcherservlet的所有請求 -->
  <bean class="com.cc.mvcdemo.interceptor.TestInterceptorTwo"></bean>
   
 </mvc:interceptors>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:http://blog.csdn.net/qq_28851503/article/details/56839876

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美女孩videos| 亚洲精品在线网址 | 成人国产在线视频在线观看 | 欧美人曾交 | 亚洲成年网站在线观看 | 国产午夜精品久久久久 | 男男同志videos | 亚洲男女天堂 | 香蕉久久ac一区二区三区 | 石原莉奈adn093店长未婚妻 | 日产国产精品亚洲系列 | 学校捏奶揉下面污文h | 欧美洲大黑香蕉在线视频 | 国产精品免费久久久久影院 | 国产拍拍拍免费专区在线观看 | 国产亚洲毛片在线 | 风间由美vec399| 国内精品久久久久久中文字幕 | 天堂伊人 | 日本国产高清色www视频在线 | 羞羞一区二区三区四区片 | 成人天堂入口网站 | 亚洲 欧美 国产 日韩 字幕 | 亚洲午夜天堂 | 日本十大顶级绝伦推理片 | 亚洲va在线va天堂成人 | 亚洲国产精品久久精品怡红院 | 亚洲品质自拍视频网站 | 免费观看俄罗斯特黄特色 | 无限资源在线观看播放 | 嫩模被黑人粗大挺进 | 亚洲人成伊人成综合网久久 | 日本玖玖视频 | 深夜视频在线播放 | 国产亚洲人成网站在线观看不卡 | 男女肉粗暴进来下面好紧 | 91精品91 | 3d动漫免费 | 色综合伊人色综合网站中国 | 欧美激情精品久久久久久不卡 | www视频免费看 |