成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

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

Spring MVC 攔截器 interceptor 用法詳解

瀏覽:2日期: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
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
国内一区二区在线视频观看| 亚洲男人的天堂网| 一区视频在线播放| 91网页版在线| 亚洲精品在线免费观看视频| 成人午夜短视频| 欧美在线免费播放| 亚洲成人7777| 久久综合九色综合久99| 亚洲福中文字幕伊人影院| 国产亚洲欧美一区二区| 亚洲摸摸操操av| 成人黄色小视频在线观看| 欧美一级片在线看| 成人激情图片网| 国产亚洲短视频| 国产一区欧美| 亚洲女子a中天字幕| 欧美天天视频| 亚洲欧洲av另类| 亚洲激情不卡| 国产精品初高中害羞小美女文 | 亚洲电影自拍| 亚洲免费观看高清在线观看| 国产亚洲一区二区三区在线播放| 亚洲综合免费观看高清完整版| 久久精品人人| 奇米在线7777在线精品| 欧美日韩电影一区| 高清beeg欧美| 久久久久久久国产精品影院| 欧美视频网站| 2020国产精品| 国产一区在线免费观看| 亚洲精品一二三区| 亚洲在线电影| 久久99久久久久| 日韩一级完整毛片| 91丝袜高跟美女视频| 国产精品卡一卡二| 亚洲国产91| 日韩va亚洲va欧美va久久| 欧美美女网站色| 91啦中文在线观看| 亚洲精品少妇30p| 国产模特精品视频久久久久| 三级不卡在线观看| 91精品国产高清一区二区三区| 91在线视频18| 夜夜揉揉日日人人青青一国产精品 | 日韩精品电影一区亚洲| 欧美日本在线播放| 91首页免费视频| 亚洲欧洲日韩在线| 久久综合狠狠| 国产91精品精华液一区二区三区 | 欧美日韩成人激情| 成人国产精品免费观看| 国产精品国产三级国产专播品爱网 | 国产成人aaa| 国产精品激情偷乱一区二区∴| 国产精品一区二区在线观看 | 日韩视频一区| 蜜桃视频在线观看一区| 精品av久久707| 99精品热6080yy久久| 免费在线成人网| 国产午夜精品久久久久久久 | 亚洲成av人影院| 日韩一区二区电影网| 一区免费视频| 狠狠色狠狠色综合系列| 国产欧美日韩不卡免费| 午夜在线a亚洲v天堂网2018| 国产精品一区二区男女羞羞无遮挡| 国产精品每日更新在线播放网址| 色94色欧美sute亚洲线路一ni| 国产成人综合视频| 亚洲乱码一区二区三区在线观看| 欧美日韩亚洲另类| av电影天堂一区二区在线观看| 亚洲免费观看高清完整版在线| 欧美夫妻性生活| 精品69视频一区二区三区Q| 青青草成人在线观看| 精品久久五月天| 麻豆成人小视频| 91在线porny国产在线看| 亚洲成a人在线观看| 欧美videos大乳护士334| 一区二区精品| 成人黄色777网| 午夜精品久久久| 久久精品夜色噜噜亚洲aⅴ| 久久精选视频| 国产不卡一区视频| 亚洲一区二区精品视频| 精品国产乱码久久久久久1区2区| 免费欧美日韩| 欧美一区二区在线| 美女任你摸久久| 国产精品久99| 日韩一区二区三区视频| 国产女优一区| 91在线小视频| 激情欧美一区二区三区在线观看| 中文字幕中文字幕在线一区| 3atv一区二区三区| 美女日韩在线中文字幕| 91麻豆成人久久精品二区三区| 日日摸夜夜添夜夜添亚洲女人| 国产日韩欧美不卡在线| 7878成人国产在线观看| 免费在线成人| 影音先锋亚洲一区| 成人高清免费观看| 美国毛片一区二区| 亚洲一区二区三区四区在线观看| 2020国产精品自拍| 亚洲综合激情| 亚洲国产精品毛片| 99在线视频精品| 国产毛片精品国产一区二区三区| 亚洲一区二区三区四区五区中文 | 午夜激情一区二区| 亚洲国产精品激情在线观看| 91精品国产综合久久精品app| 香蕉久久夜色精品国产| 欧美午夜免费影院| 成人高清伦理免费影院在线观看| 麻豆精品一区二区av白丝在线| 一区二区久久久久| 国产精品系列在线| 久久精品免视看| 精品免费视频.| 91精品国产综合久久香蕉的特点 | 天堂久久一区二区三区| 国产精品高潮呻吟久久| 精品国产髙清在线看国产毛片| 欧美日韩国产免费| 久久久综合网| 亚洲男女自偷自拍| 日韩一级精品| 狠狠爱www人成狠狠爱综合网| 99天天综合性| 国产露脸91国语对白| 美女一区二区视频| 亚洲精品高清在线| 国产精品丝袜一区| 久久精品一区二区三区av| 精品久久久网站| 日韩一区二区三区在线| 欧美人妖巨大在线| 欧美午夜精品一区二区蜜桃| 国产乱码精品| 中文精品视频一区二区在线观看| 亚洲小说欧美另类婷婷| 欧美日韩喷水| 欧美91大片| 午夜视频久久久| 欧美另类高清视频在线| 欧美日本一区二区高清播放视频| 女生裸体视频一区二区三区| eeuss鲁片一区二区三区在线观看| 国产成人免费9x9x人网站视频| 国产一区二区三区四| 国产在线视频一区二区| 亚洲伊人色欲综合网| 一区二区三区欧美在线观看| 一区二区三区日韩欧美| 一区二区三区中文字幕精品精品| 日韩伦理av电影| 18欧美亚洲精品| 亚洲日本成人在线观看| 亚洲视频每日更新| 一区二区在线观看视频在线观看| 亚洲色图在线播放| 樱桃国产成人精品视频| 亚洲日本欧美天堂| 在线观看一区不卡| 亚洲愉拍自拍另类高清精品| 久久精品女人的天堂av| 一本大道综合伊人精品热热 | 国产精品免费看| 在线视频一区二区三| 色婷婷综合久久久久中文| 国产综合色产在线精品| 国产欧美日韩视频在线观看| 欧美tickle裸体挠脚心vk| 欧美日本精品一区二区三区| 欧美色欧美亚洲另类二区| 99久久99久久精品国产片果冻 | 国产色产综合产在线视频| 美女日韩在线中文字幕| 日韩一区在线看| yourporn久久国产精品| 精品国产一区二区三区不卡| 国产精品一级在线| 欧美视频一区二| 国模一区二区三区白浆|