日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Spring MVC 攔截器 interceptor 用法詳解

瀏覽:36日期:2023-08-25 10:54:56

Spring MVC-攔截器今天就是把有關攔截器的知識做一個總結。

1.攔截器概述

1.1 什么是攔截器?

Spring MVC中的攔截器(Interceptor)類似于Servlet中的過濾器(Filter),它主要用于攔截用戶請求并作相應的處理。例如通過攔截器可以進行權限驗證、記錄請求信息的日志、判斷用戶是否登錄等。要使用Spring MVC中的攔截器,就需要對攔截器類進行定義和配置。通常攔截器類可以通過兩種方式來定義。

1.通過實現HandlerInterceptor接口,或繼承HandlerInterceptor接口的實現類(如HandlerInterceptorAdapter)來定義。

2.通過實現WebRequestInterceptor接口,或繼承WebRequestInterceptor接口的實現類來定義。

以實現HandlerInterceptor接口方式為例,自定義攔截器類的代碼如下:

package com.mmm.interceptors;import org.springframework.web.servlet.HandlerInterceptor;import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/*** 創建自定義的攔截器01.務必實現 HandlerInterceptor!02.我們使用的攔截器其實就是針對于Handler的攔截器===》處理器攔截器03.核心控制器中的HandleMapping返回的就是一個處理器執行鏈 = Handler+ Interceptors(處理器攔截器)*/public class MyInterceptor implements HandlerInterceptor{/**** @param request* @param response* @param handler 打印出來com.mmm.controller.UserController@6225177c* @return* @throws Exception*** HandlerInterceptor接口中的三個方法:01.preHandle 如果返回值是false,則不會執行后續的操作! 一個攔截器preHandle如果返回值是true 則會執行下一個攔截器。。02.如果有多個攔截器,則之后攔截器中的所有方法都不會執行!*/@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {System.out.println('執行了 攔截器1111中的 ===》preHandle');return true;}/*** 之后指定了對應Handler中的方法之后 才執行!* @param modelAndView 打印出來 ModelAndView: reference to view with name ’success’; model is {welcome=恭喜您登錄成功}* @throws Exception*/@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {System.out.println('執行了 攔截器1111中的===》postHandle');}/*** 只要是當前攔截器中的preHandle返回true則此方法必須執行!* @param handler 打印出來com.mmm.controller.UserController@6225177c* @param ex* @throws Exception*/@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {System.out.println('執行了 攔截器1111的 ===》afterCompletion');}}

上述代碼中,自定義攔截器實現了HandlerInterceptor接口,并實現了接口中的三個方法:

preHandle() 方法:該方法會在控制器方法前執行,其返回值表示是否中斷后續操作。當其返回值為true時,表示繼續向下執行;當其返回值為false時,會中斷后續的所有操作(包括調用下一個攔截器和控制器類中的方法執行等)。

postHandle()方法:該方法會在控制器方法調用之后,且解析視圖之前執行。可以通過此方法對請求域中的模型和視圖做出進一步的修改。

afterCompletion()方法:該方法會在整個請求完成,即視圖渲染結束之后執行。可以通過此方法實現一些資源清理、記錄日志信息等工作。

1.2 攔截器的配置

開發攔截器就像開發servlet或者filter一樣,都需要在配置文件進行配置,配置代碼如下:

<!--配置自定義的攔截器--><mvc:interceptors><!--攔截器1--><mvc:interceptor><!--配置攔截器的作用路徑--><mvc:mapping path= '/user/**'/><!--攔截的路徑規則--><!--定義在<mvc:interceptor>下面的表示匹配指定路徑的請求才進行攔截--><bean/></mvc:interceptor><!--攔截器2--><mvc:interceptor><mvc:mapping path='/user/**'/><!--攔截的路徑規則--><bean/></mvc:interceptor></mvc:interceptors>

上面的代碼中,<mvc:interceptors>元素用于配置一組攔截器,基子元素<bean>中定義的是全局攔截器,它會攔截所有的請求;而<mvc:interceptor>元素中定義的是指定路徑的攔截器,它會對指定路徑下的請求生效。<mvc:interceptor>元素的子元素<mvc:mapping>用于配置攔截器作用的路徑,該路徑在其屬性path 中定義。如上述代碼中 path 的屬性值“/**” 表示攔截所有路徑,“/hello” 表示攔截所有以 “/hello” 結尾的路徑。如果在請求路徑中包含不需要攔截的內容,還可以通過<mvc:exclude-mapping>元素進行配置。注意:<mvc:interceptor>中的子元素必須按照上述代碼中的配置順序進行編寫,即<mvc:mapping> <mvc:exclude-mapping> <bean>,否則文件會報錯。

2. 攔截器的執行流程

1.程序先執行preHandle()方法,如果該方法的返回值為true,則程序會繼續向下執行處理器中的方法,否則將不再向下執行。

2.在業務處理器(即控制器Controller類)處理完請求后,會執行postHandle()方法,然后會通過DispatcherServlet向客戶端返回響應。

3.在DispatcherServlet處理完請求后,才會執行afterCompletion()方法。

進入了 login執行了 攔截器1111中的 ===》preHandle執行了 攔截器2222中的 ===》preHandle進入了 main執行了 攔截器2222中的===》postHandle執行了 攔截器1111中的===》postHandle執行了 攔截器2222的 ===》afterCompletion執行了 攔截器1111的 ===》afterCompletion

到此這篇關于Spring MVC 攔截器 interceptor 用法詳解的文章就介紹到這了,更多相關Spring MVC 攔截器 interceptor 內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩视频不卡| 视频精品一区二区| 欧美日本不卡高清| 亚洲+小说+欧美+激情+另类| 亚洲精品中文字幕99999| 久久激情综合网| 国产不卡精品在线| 亚洲高清久久| 色婷婷久久久| 日韩中文字幕区一区有砖一区 | 精品视频黄色| 日韩欧美看国产| 狠狠色狠狠色综合日日tαg| 亚洲一区有码| 麻豆91在线播放| 激情婷婷久久| 日本va欧美va精品发布| 麻豆精品少妇| 午夜精品亚洲| 久久精品亚洲| 久久高清免费| 久久精品99国产精品| 99精品在线| 国产情侣一区| 欧美1区2区3区| 国产欧美日本| 久久国产精品久久w女人spa| 国产精品国码视频| 天堂成人国产精品一区| 欧美精品日日操| 91p九色成人| 亚洲欧美日本国产专区一区| 黄在线观看免费网站ktv| 亚洲精品伊人| 午夜精品一区二区三区国产| 妖精视频成人观看www| 国产一区二区三区久久久久久久久| 首页亚洲欧美制服丝腿| 日韩高清中文字幕一区二区| 麻豆中文一区二区| 日本一区二区中文字幕| 免费黄色成人| 激情婷婷亚洲| 国产精品字幕| 国产a亚洲精品| 美女精品视频在线| 欧美亚洲综合视频| 日韩在线黄色| 中文字幕一区二区精品区| 一区三区视频| 激情亚洲影院在线观看| 老司机精品在线| 国产另类在线| 麻豆91在线播放| 国产一区调教| 国产+成+人+亚洲欧洲在线| 国产精品毛片久久久| 亚洲精品日韩久久| 久久激情五月激情| 日韩精品久久久久久| 亚洲综合精品| 日本大胆欧美人术艺术动态| 石原莉奈在线亚洲二区| 婷婷综合五月| 国产精品色网| 亚洲性色视频| 人人精品亚洲| 91精品国产乱码久久久久久久| 久久精品国产亚洲aⅴ| 卡一卡二国产精品| av中文字幕在线观看第一页 | 免费在线观看成人| 一区二区自拍| 黑人精品一区| 在线国产一区| 久久免费精品| 婷婷激情一区| 香蕉国产精品| 欧美成人综合| 激情婷婷亚洲| 不卡在线一区二区| 亚洲一区有码| 青青草精品视频| 麻豆精品99| 香蕉精品视频在线观看| 亚洲精品美女91| 精品久久不卡| 久久香蕉精品| 麻豆国产精品777777在线| 欧美日韩在线二区| 亚洲一二av| 天堂√中文最新版在线| 亚洲综合专区| 黄色在线网站噜噜噜| 9色国产精品| 精品久久福利| 亚洲欧洲美洲国产香蕉| 成人看片网站| 日本中文字幕视频一区| 日韩中文首页| 另类欧美日韩国产在线| 免费看欧美美女黄的网站| 丝袜av一区| 久草精品视频| 国产欧美日韩在线一区二区 | 蜜桃91丨九色丨蝌蚪91桃色| 日本不卡中文字幕| 精品在线91| 人人香蕉久久| 日本一区二区免费高清| 久久av网址| 国产精品一区二区三区美女| 亚洲精品乱码| 亚洲另类黄色| 中文字幕日本一区| 精品一区二区三区中文字幕视频 | 狠狠久久伊人| 亚洲综合欧美| 日韩在线看片| 国产精品探花在线观看| 日韩国产在线不卡视频| 天堂va在线高清一区| 亚洲无线观看| 日韩中文字幕在线一区| 日韩专区欧美专区| 日本在线成人| 国产精品超碰| 精品国产欧美日韩| 丰满少妇一区| 亚洲国产福利| 国产精品91一区二区三区| 美女毛片一区二区三区四区| 亚洲一区成人| 日韩超碰人人爽人人做人人添| 99国产精品久久久久久久| 亚洲综合电影一区二区三区| 亚洲综合色婷婷在线观看| 91综合久久爱com| 国产成人精品999在线观看| 久久婷婷一区| 久久亚洲美女| 国产乱码精品一区二区三区四区| 亚洲欧美在线综合| 国产精品欧美三级在线观看| 福利视频一区| 亚洲综合精品| 国产精品巨作av| 欧美一级精品| 亚洲精品伊人| 国产日产一区| 色88888久久久久久影院| 欧美另类专区| 国产调教一区二区三区| 日韩av有码| 蜜臀av性久久久久蜜臀aⅴ流畅 | 国产精品毛片在线| 欧美黄色精品| 久久福利毛片| 91看片一区| 欧美日韩亚洲一区在线观看| 国产精品久久久久久模特| 五月综合激情| 国产成人免费精品| 亚洲理论在线| 久久九九99| 久久精品三级| 欧美日韩在线精品一区二区三区激情综合 | 国产精品综合| 黄色精品网站| 日本不卡的三区四区五区| 欧美久久精品一级c片| 国产一区二区三区四区五区 | 国产中文在线播放| 欧美精品99| 日韩精品免费观看视频| 亚洲男女自偷自拍| 国产韩日影视精品| 欧洲亚洲一区二区三区| 91免费精品| 91午夜精品| 午夜一区在线| 欧美精品一卡| 99国产精品99久久久久久粉嫩| 色婷婷久久久| 激情欧美一区| 亚洲国产日韩欧美在线| 99国产精品免费视频观看| 蜜桃av在线播放| 四虎884aa成人精品最新| 久久精品国产亚洲夜色av网站| 成人免费电影网址| 在线日韩电影| 99国产一区| 日韩av中文在线观看| 国产欧美日韩精品一区二区免费 | 久久亚洲成人| 免费观看不卡av| 亚洲欧美日韩精品一区二区 | 亚洲三级在线| 青青草91久久久久久久久|