SpringMVC學習15:攔截器
阿新 • • 發佈:2022-04-19
-
攔截器:
-
SpringMVC的處理器攔截器類似於Servlet開發中的過濾器Filter,用於對處理器進行預處理和後處理。開發者可以自己定義一些攔截器來實現特定的功能;
-
過濾器與攔截器的區別:攔截器是AOP思想的具體應用;
-
-
過濾器:
-
servlet規範中的一部分,任何java web工程都可以使用;
-
在url-pattern中配置了/*之後,可以對所有要訪問的資源進行攔截;
-
-
攔截器:
-
攔截器是SpringMVC框架自己的,只有使用了SpringMVC框架的工程才能使用;
-
攔截器只會攔截訪問的控制器方法
-
-
自定義攔截器:
-
想要自定義攔截器,必須實現 HandlerInterceptor 介面。
-
步驟:
1、新建一個Moudule , springmvc-07-Interceptor , 新增web支援
2、配置web.xml 和 springmvc-servlet.xml 檔案
3、編寫一個攔截器;
-
-
程式碼案例:攔截器
-
web.xml
-
applicationContext.xml:配置攔截器
-
自定義攔截器:MyInterceptor
public class MyInterceptor implements HandlerInterceptor {
//在請求處理的方法之前執行
//如果返回true執行下一個攔截器
//如果返回false就不執行下一個攔截器
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("處理前");
return true;//放行
}
} -
測試類:InterceptorController
-