Spring Boot編寫攔截器教程實例解析
創(chuàng)建一個類并使其實現(xiàn)接口HandlerInterceptor
接口提供了一個請求的三個周期的攔截方法
在controller之前,返回true則放行,false反之,handler包含處理請求的controller類以及其方法
boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
在controller接受請求之后,contorller渲染視圖之前,如果發(fā)生異常就不執(zhí)行了,可對ModelAndView操作
void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView)
在controller處理全部完成之后,ex參數(shù)包含處理期間發(fā)生的異常,但僅為未被全局捕獲的異常
void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
public class TheInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("preHandle");
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
System.out.println("postHandle");
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
System.out.println("afterCompletion");
}
}
編寫完成后需要將其注冊進處理棧中才會生效, 創(chuàng)建WebMvcConfigurer的實現(xiàn)類
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new MyInterceptor())
// 需要攔截的路徑,默認全部攔截
.addPathPatterns("/test1")
// 需要排除的路徑
.excludePathPatterns("/test2");
}
}
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
mybatis-plus IdWorker生成的Id和返回給前臺的不一致的解決
這篇文章主要介紹了mybatis-plus IdWorker生成的Id和返回給前臺的不一致的解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-03-03
Java使用NIO優(yōu)化IO實現(xiàn)文件上傳下載功能
IO 是基于流來讀取的,而NIO則是基于塊讀取,面向流 的 I/O 系統(tǒng)一次一個字節(jié)地處理數(shù)據(jù),這篇文章主要介紹了Java使用NIO優(yōu)化IO實現(xiàn)文件上傳下載功能,需要的朋友可以參考下2022-07-07
spring boot 項目利用Jenkins實現(xiàn)自動化部署的教程詳解
這篇文章主要介紹了spring boot 項目利用Jenkins實現(xiàn)自動化部署的方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2018-07-07

