在應用許可權控制時,可以在需要的時候寫上自己的許可權控制**,這是可行的,不過總會產生大量的重複**。dry(don't repeat yourself)不要寫重複的**,在呼叫目標方法之前或之後執行一些邏輯,這通常可以通過**的方式來實現,interceptor基於此。
實現乙個登入驗證的interceptor:
/** * 許可權控制interceptor * @author evan * */ public class logininterceptor extends abstractinterceptor //向httpservletrequest中新增屬性,即request.setattribute(msg,...) actioncontext.put("msg", "please login!"); //返回login邏輯檢視 return action.login; } }
struts.xml中的配置:
/success.jsp
/login.jsp
如果不想將authenticationstack作為預設的interceptor stack,可以重新定義乙個package用於管理其它的action對映;或者直接在action對映中引用struts預設的interceptor stack。
struts2設定全域性的interceptor
今天領導布置任務需要為struts2配置乙個全域性的 作用是攔截url請求但不攔截ajax請求,對所有的url請求進行session失效判斷。session失效時間的配置在web.xml中 30 首先建立全域性的 檔案struts interceptor.xml,在檔案中建立全域性的 和全域性的re...
Struts 2 Struts2 詳細配置
全域性配置 配置在packe 中,所有 action 的上面。頁面 頁面 區域性結果優先順序高於全域性。異常資訊配置 404異常 500異常 web.xml 配置 404 error.jsp 500 error.jsp 包 package 配置 所有的action 配置,都必須在包中。jsp頁面路徑...
Struts2字尾 深入Struts2
一 將action字尾變成html字尾 xmlversion 1.0 encoding utf 8 doctype struts public apache software foundation dtd struts configuration 2.1 en struts include file...