136_Java_SpringMVC_HandlerInterceptor_攔截器

      網(wǎng)友投稿 963 2025-04-03

      1 -的配置


      SpringMVC中的-用于攔截控制器方法的執(zhí)行

      SpringMVC中的-需要實現(xiàn)HandlerInterceptor

      SpringMVC的-必須在SpringMVC的配置文件中進行配置

      136_Java_SpringMVC_HandlerInterceptor_-

      2 -的三個抽象方法

      preHandle:控制器方法執(zhí)行之前執(zhí)行preHandle(),其boolean類型的返回值表示是否攔截或放行, 返回true為放行,即調(diào)用控制器方法;返回false表示攔截,即不調(diào)用控制器方法 postHandle:控制器方法執(zhí)行之后執(zhí)行postHandle() afterComplation:處理完視圖和模型數(shù)據(jù),渲染視圖完畢之后執(zhí)行afterComplation()

      3 多個-的執(zhí)行順序

      a>若每個-的preHandle()都返回true 此時多個-的執(zhí)行順序和-在SpringMVC的配置文件的配置順序有關(guān): preHandle()會按照配置的順序執(zhí)行,而postHandle()和afterComplation()會按照配置的反序執(zhí)行 b>若某個-的preHandle()返回了false preHandle()返回false和它之前的-的preHandle()都會執(zhí)行,postHandle()都不執(zhí)行,返回false的-之前的-的afterComplation()會執(zhí)行

      @Component public class FirstInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { System.out.println("FirstInterceptor-->preHandle"); return true; // 是否進行放行,true 代表放行 } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { System.out.println("FirstInterceptor-->postHandle"); } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { System.out.println("FirstInterceptor-->afterCompletion"); } }

      異常處理器

      1 基于配置的異常處理

      SpringMVC提供了一個處理控制器方法執(zhí)行過程中所出現(xiàn)的異常的接口:HandlerExceptionResolver

      HandlerExceptionResolver接口的實現(xiàn)類有:DefaultHandlerExceptionResolver和

      SimpleMappingExceptionResolver

      SpringMVC提供了自定義的異常處理器SimpleMappingExceptionResolver

      2 基于注解的異常處理

      SpringMVC提供了一個處理控制器方法執(zhí)行過程中所出現(xiàn)的異常的接口:HandlerExceptionResolver

      HandlerExceptionResolver接口的實現(xiàn)類有:DefaultHandlerExceptionResolver和SimpleMappingExceptionResolver

      2.1 SpringMVC提供了自定義的異常處理器SimpleMappingExceptionResolver

      error

      2.2 基于注解的異常處理

      //@ControllerAdvice將當前類標識為異常處理的組件 @ControllerAdvice public class ExceptionController { //@ExceptionHandler用于設(shè)置所標識方法處理的異常 @ExceptionHandler(value = {ArithmeticException.class, NullPointerException.class}) //ex表示當前請求處理中出現(xiàn)的異常對象 public String testException(Exception ex, Model model){ model.addAttribute("ex", ex); // 默認放在請求域里面 return "error"; } }

      index

      Title

      首頁

      測試-
      測試異常處理

      success error

      Title success Title 出現(xiàn)錯誤

      @Controller public class TestController { @RequestMapping("/**/testInterceptor") // ANT風(fēng)格,/**/多層 public String testInterceptor(){ return "success"; } @RequestMapping("/testExceptionHandler") public String testExceptionHandler(){ System.out.println(1/0); return "success"; } }

      Java MVC Spring

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:Excel表格批注中怎么添加圖片(excel怎么在批注里面加圖片)
      下一篇:TRIBERIAN函數(shù)怎么計算平均數(shù)
      相關(guān)文章
      亚洲另类激情综合偷自拍图| 亚洲AV无码一区二区三区DV| 亚洲国产中文在线二区三区免| 亚洲另类激情综合偷自拍图| 亚洲色精品vr一区二区三区| 亚洲欧洲中文日韩久久AV乱码| 精品亚洲视频在线| 亚洲av无码片vr一区二区三区| 亚洲日韩精品A∨片无码加勒比| 亚洲中文无码卡通动漫野外| 中文字幕精品三区无码亚洲| 狠狠色伊人亚洲综合网站色| 在线a亚洲老鸭窝天堂av高清| 亚洲一卡二卡三卡| 国产精品久久亚洲不卡动漫| 国产精品亚洲片在线va| 国产亚洲中文日本不卡二区| 亚洲色大成网站www久久九 | 亚洲色大18成人网站WWW在线播放| 麻豆狠色伊人亚洲综合网站| 亚洲天堂2016| 亚洲国产精品无码久久久秋霞1| 亚洲国产成人精品无码区花野真一| 亚洲国产成人久久一区二区三区| 国产亚洲蜜芽精品久久| 亚洲色欲久久久久综合网| 亚洲色自偷自拍另类小说| 亚洲AV一宅男色影视| 久久精品国产亚洲AV麻豆网站 | 国产亚洲美女精品久久久久| 亚洲国产人成精品| 亚洲色WWW成人永久网址| 亚洲AV无码一区二区乱子伦 | 亚洲国产成人久久综合一区| 亚洲国产成a人v在线| 亚洲欧美国产欧美色欲| 国产天堂亚洲精品| 永久亚洲成a人片777777| 亚洲AV一宅男色影视| 亚洲免费视频观看| 亚洲国产精品成人AV在线|