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"); } }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Springboot如何通過filter修改Header的值
這篇文章主要介紹了Springboot如何通過filter修改Header的值問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07Java SpringMVC數(shù)據(jù)響應(yīng)超詳細講解
Spring?MVC?是?Spring?提供的一個基于?MVC?設(shè)計模式的輕量級?Web?開發(fā)框架,本質(zhì)上相當于?Servlet,Spring?MVC?角色劃分清晰,分工明細,本章來講解SpringMVC數(shù)據(jù)響應(yīng)2022-04-04springboot+mybatis快速插入大量數(shù)據(jù)的具體實現(xiàn)
最近導(dǎo)入表格數(shù)據(jù)時需要同時插入修改大量數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于springboot+mybatis快速插入大量數(shù)據(jù)的具體實現(xiàn),文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-04-04Spring Boot Maven 打包可執(zhí)行Jar文件的實現(xiàn)方法
這篇文章主要介紹了Spring Boot Maven 打包可執(zhí)行Jar文件的實現(xiàn)方法,需要的朋友可以參考下2018-02-02使用JavaBean根據(jù)指定條件設(shè)置屬性值默認值方式
這篇文章主要介紹了使用JavaBean根據(jù)指定條件設(shè)置屬性值默認值方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03在Spring-Boot中如何使用@Value注解注入集合類
這篇文章主要介紹了在Spring-Boot中如何使用@Value注解注入集合類的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08