Spring 過濾器和攔截器
1.實戰技巧問題
1)中文亂碼解決方案
在表單提交時,如果遇到中文字元會出現亂碼現象,Spring提供
一個CharacterEncodingFilter過濾器,可以用於解決亂碼問題
CharacterEncodingFilter使用時需要注意以下問題
表單資料以POST方式提交
在web.xml中配置CharacterEncodingFilter過濾器
頁面編碼和過濾器指定的編碼保持一致
2)異常處理
Spring處理異常方式有以下三種
1.使用Spring提供的簡單異常處理器
SimpleMappingExceptionResolver
只需要在Spring的配置檔案中定義異常處理器即可
2.實現HandlerExceptionResolver介面(自定義異常處理器)
自定義異常處理器需要在Spring的配置檔案中定義才可以使
用,適合全域性處理有"處理過程"的異常
3.使用@ExceptionHandler註解實現異常處理
適合區域性處理有"處理過程"的異常
3)攔截器
攔截器介面
攔截器必須實現HandlerInterceptor介面
preHandle()
處理器執行前呼叫,方法返回true表示繼續呼叫其他攔截器或
處理方法,返回false表示中斷流程,不會執行後續的攔截器或
處理器
postHandle()
處理器方法執行後,檢視處理器呼叫前,此時可以通過ModelAndView
物件對模型資料進行處理或對檢視進行處理
afterCompletion()
整個請求處理完畢後呼叫,如效能監控中可以在此記錄結束時間,
輸出消耗時間,可以進行資源清理
自定義攔截器的配置
<mvc:interceptors>
<mvc:interceptor>
<!-- 需要通過攔截器的URL -->
<mvc:mapping path=""/>
<!-- 不需要通過攔截的URL -->
<mvc:exclude-mapping path=""/>
注意:URL不可以寫相對路徑,絕對路徑是從名稱空間開始
<!-- 攔截器元件 -->
<bean class=""/>
</mvc:interceptor>
</mvc:interceptors>
提示:自定義攔截器,實現HandlerInterceptor介面,需要實現
定義的全部抽象方法,如果只需要某一個方法可以繼承
HandlerInterceptorAdapter
相關文章
- 談談 Spring 的過濾器和攔截器Spring過濾器
- spring中的過濾器與攔截器Spring過濾器
- 攔截過濾器模式過濾器模式
- spring boot 新增自定義監聽器、過濾器、攔截器Spring Boot過濾器
- 攔截器(Interceptor)與過濾器(Filter)過濾器Filter
- SpringBoot 攔截器、過濾器、監聽器Spring Boot過濾器
- springBoot的過濾器,監聽器,攔截器Spring Boot過濾器
- 聊一聊過濾器與攔截器過濾器
- SpringBoot中的過濾器和攔截器的實現Spring Boot過濾器
- 監聽器,過濾器,攔截器的執行過程和對比過濾器
- springboot系列文章之過濾器 vs 攔截器Spring Boot過濾器
- SpringBoot實現過濾器、攔截器與切片Spring Boot過濾器
- Solon 的過濾器 Filter 和兩種攔截器 Handler、 Interceptor過濾器Filter
- spring攔截器Spring
- 過濾器和攔截器有啥區別,這次會了!過濾器
- springmv的過濾器和攔截器的區別是什麼Spring過濾器
- 過濾器 Filter 與 攔截器 Interceptor 的區別過濾器Filter
- Spring MVC 中的攔截器的使用“攔截器基本配置” 和 “攔截器高階配置”SpringMVC
- Spring 攔截器和過濾器中自動注入為 null 的原因及解決方案Spring過濾器Null
- spring mvc攔截器,spring攔截器以及AOP切面的區別和原始碼SpringMVC原始碼
- Spring Boot使用過濾器和攔截器分別實現REST介面簡易安全認證Spring Boot過濾器REST
- spring boot 攔截器Spring Boot
- 極簡架構模式-攔截過濾器模式架構模式過濾器
- 過濾器 和 攔截器 6 個區別,別再傻傻分不清了過濾器
- 過濾器 和 攔截器 6個區別,別再傻傻分不清了過濾器
- 過濾器、攔截器、AOP、ControllerAdvcie執行順序對比過濾器Controller
- Spring Boot新增攔截器Spring Boot
- Java Filter過濾器(攔截路徑的配置+攔截方式的配置+生命週期+多個過濾器的先後執行順序)JavaFilter過濾器
- spring mvc 攔截器的使用SpringMVC
- 萬字長文帶你徹底學會攔截器與過濾器過濾器
- Spring Boot中攔截器的使用Spring Boot
- SpringMVC攔截器SpringMVC
- axios 攔截器iOS
- axios攔截器iOS
- sql攔截器SQL
- Mybatis 攔截器MyBatis
- MyBatis攔截器MyBatis
- 過濾器攔截器攔截了request後,controller的@RequestBody 無法獲取request內容,報錯 Required request body is missing 的根源過濾器ControllerUI