Struts2内置拦截器的简要介绍
http://www.th7.cn/Program/java/201405/195296.shtml
標記有(*)要著重了解:
(1)alias(別名攔截器):允許參數在跨越多個請求時使用不同別名,該攔截器可將多個Action采用不同名字鏈接起來,然后用于處理同一信息。
(2)autowiring(自動裝配攔截器):主要用于當Struts2和Spring整合時,Struts2可以使用自動裝配的方式來訪問Spring容器中的Bean。
(3)(*)chain(鏈攔截器):構建一個Action鏈,使當前Action可以訪問前一個Action的請求信息,一般和<result type="chain" .../>一起使用。
(4)(*)checkbox(多選框攔截器):將沒有選中的checkbox項設置為false,協助管理多選框。在HTTP請求里,那些沒有被選中的項通常沒有任何值。
(5)conversionError(轉換器錯誤攔截器):這是一個負責處理類型轉換錯誤的攔截器,它負責將類型轉換錯誤從ActionContext中取出,并轉換成Action的 FieldError錯誤。
(6)(*)createSession(創建Session攔截器):該攔截器負責創建一個HttpSession對象,主要用于那些需要有HttpSession對象才能正常工作的攔截器中。
(7)(*)clearSession(清除Session攔截器):負責銷毀HttpSession對象.
(8)(*)debugging(調試攔截器):當使用Struts2的開發模式時,這個攔截器會提供更多的調試信息。
(9)execAndWait(執行和等待攔截器):后臺執行Action時,給用戶顯示一個過渡性的等待頁面。
(10)externalRef(擴展攔截器):負責擴展引用
(11)(*)exception(異常攔截器):將Action拋出的異常映射到結果,這樣就通過重定向自動處理異常。
(12)(*)fileUpload(文件上傳攔截器):這個攔截器主要用于文件上傳,它負責解析表單中文件域的內容。
(13)(*)i18n(國際化攔截器):主要負責把用戶所選的語言、區域放入用戶Session中。
(14)logger(日志攔截器):主要是輸出Action的名字,提供簡單的日志輸出。
(15)modelDriven(模型驅動攔截器):這是一個用于模型驅動的攔截器,當某個Action類實現了ModelDriven接口時,它負責把getModel()方法的結果堆入ValueStack中。
(16)scopedModelDriven(作用域模型驅動攔截器):如果一個Action實現了一個ScopedModelDriven接口,該攔截器負責從指定生存范圍中找出指定的Model,并將通過setModel方法將該Model傳給Action實例。
(17)(*)params(參數過濾攔截器):這是一個最基本的攔截器,它負責解析HTTP請求中的參數,并將參數值設置成Action對應的屬性值。
(18)prepare(預備攔截器):如果action實現了Preparable接口,將會調用該攔截器的prepare()方法。
(19)(*)staticParams(靜態參數攔截器):這個攔截器負責將xml中<action>標簽下<param>標簽中的參數傳入action。
(20)scope(作用域攔截器):這是范圍轉換攔截器,它可以將Action狀態信息保存到HttpSession范圍,或者保存到ServletContext范圍內。
(21)servletConfig(Servlet配置攔截器):如果某個Action需要直接訪問Servlet API,就是通過這個攔截器實現的,它提供訪問HttpServletRequest和HttpServletResponse的方法,以map方式訪問。
(22)roles(角色攔截器):這是一個JAAS(Java Authentication and Authorization Service,Java授權和認證服務)攔截器,只有當瀏覽者取得合適的授權 后,才可以調用被該攔截器攔截的Action。
(23)(*)timer(計時攔截器):這個攔截器負責輸出Action的執行時間,在分析該Action的性能瓶頸時比較有用。
(24)(*)token(令牌攔截器):這個攔截器主要用于阻止重復提交,它檢查傳到Action中的token,從而防止多次提交。
(25)(*)tokenSession(令牌會話攔截器):這個攔截器的作用與前一個基本類似,只是它把非法提交的數據保存在HttpSession中,不跳轉到錯誤頁面,再次生成與第一次相同的響應頁面。
(26)(*)validation(驗證攔截器):通過執行在xxxAction-validation.xml中定義的校驗器,從而完成數據校驗。
(27)(*)workflow(工作流攔截器):這個攔截器負責調用Action類中的validate方法,如果校驗失敗,則不執行業務方法,而是返回input的邏輯視圖。
(28)jsonValidation(json攔截器):驗證失敗時,可以將fieldError和actionErrors信息序列化成json,返回給客戶端
(29)profiling(概要攔截器):允許Action記錄簡單的概要信息。
(30)actionMappingParams(Action映射攔截器):Parameters set by the action mapping are not set/not available through ParameterAware
(30)annotationWorkflow(注解工作流攔截器):利用注解替代XML配置,使用annotationWorkflow攔截器可以使用@After、@Before、@BeforeResult等注解,執行流程為before-execute-beforeResult-after順序
(31)store(消息存儲攔截器):在會話中為Action存儲和檢索消息、字段錯誤以及Action錯誤,該攔截器要求Action實現ValidationAware接口。
與50位技術專家面對面20年技術見證,附贈技術全景圖
總結
以上是生活随笔為你收集整理的Struts2内置拦截器的简要介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 面向对象程序设计(OOP)的六大原则
- 下一篇: 阅读openjdk源代码