1. 程式人生 > >struts2自定義攔截器

struts2自定義攔截器

ctrl+ font 重要 ali clas 根據 cat XML 準備

Struts自定義攔截器有什麽作用?

攔截器可以做前期準備工作,如果準備工作沒有做好,則先跳轉到準備的操作頁面,更加合理。比如:登錄才能進行的操作,如果檢測沒有登錄,那就重定向到登錄頁面。

1. Struts攔截器必須要實現Interceptor接口

註意:interceptor包這裏是放在web層下面的。

技術分享圖片

根據以往的經驗,一般我們是繼承,實現了interceptor接口的子類,Ctrl+T

,這裏我們繼承抽象類MethodFilterInterceptor,主要是裏面有兩個屬性includeMethods(包含方法)excludeMethods(排除某個方法)默認是所有的攔截,但是只要這兩個屬性其中一個有數據,就按照我們自己定義的來操作。

技術分享圖片

技術分享圖片

實現抽象類MethodFilterInterceptor未實現的方法

技術分享圖片

放行 invocation.invoke();

技術分享圖片

2. 自定義攔截器必須在struts.xml文件中註冊

把光標放在標簽上,查看放置的順序

技術分享圖片

註冊攔截器,配置自己的攔截器棧,用自己的攔截器棧取代系統默認的攔截器

技術分享圖片

技術分享圖片

重要的一點,把系統默認的攔截器棧換成我們自己的,沒有配置不生效的。

技術分享圖片

生效了

技術分享圖片

配置不進行攔截的方法

技術分享圖片

3. 獲取走了攔截器的路徑。

同時說明,走了兩次攔截器。

技術分享圖片

struts2自定義攔截器