-
配置自定義攔截器后,默認(rèn)攔截器不生效。需要手動(dòng)引入。
<!--手動(dòng)引用攔截器defaultStack--> <interceptor-ref?name="defaultStack"/>
查看全部 -
1.params攔截器: -負(fù)責(zé)將請(qǐng)求參數(shù)設(shè)置為Action屬性 2.staticParams攔截器: -將配置文件中action元素的子元素param參數(shù)設(shè)置為Action屬性 3.servletConfig攔截器: -將源于Servlet API的各種對(duì)象注入到Action,必須實(shí)現(xiàn)對(duì)應(yīng)接口 4.fileUpload攔截器: -對(duì)文件上傳提供支持,將文件和元素設(shè)置到對(duì)應(yīng)的Action屬性,實(shí)際上內(nèi)部依然使用了Commons-FileUpload組件。 5.exception攔截器: -捕獲異常,并且將異常映射到用戶自定義的錯(cuò)誤頁(yè)面 6.validation攔截器: -調(diào)用驗(yàn)證框架進(jìn)行數(shù)據(jù)驗(yàn)證 更多的攔截器可在struts核心包的struts-default.xml中查看
查看全部 -
1、創(chuàng)建一個(gè)繼承自AbstractInterceptor類
2、實(shí)現(xiàn)intercept方法
3、注冊(cè)攔截器
<interceptors> ????<interceptor?name="mytimer"?class="com.interceptor.TimerInterceptor"/> </interceptors>
4、引用攔截器
<action?name="timer"?class="com.action.TimerAction"> ????<result>/index.jsp</result> ????<!--引用攔截器--> ????<interceptor-ref?name="mytimer"/> </action>
查看全部 -
Struts2大多數(shù)核心功能是通過攔截器實(shí)現(xiàn)的,每個(gè)攔截器完成某項(xiàng)功能。
?攔截器方法在Action執(zhí)行之前或者之后執(zhí)行。
攔截器棧: 從結(jié)構(gòu)上看,攔截器棧相當(dāng)于多個(gè)攔截器的組合。 在功能上看,攔截器棧也是攔截器。 攔截器的執(zhí)行過程是一個(gè)遞歸的過程,工作原理類似于過濾器。
查看全部 -
方式一:實(shí)現(xiàn)Interceptor接口
- void init():初始化攔截器所需資源
- void destroy():釋放在init()中分配的資源
- String intercept(ActionInvocation ai) throws Exception
實(shí)現(xiàn)攔截器功能
利用ActionInvocation參數(shù)獲取Action狀態(tài)
返回result字符串作為邏輯視圖
方式二:繼承AbstractInterceptor類
- 提供了init()和destroy()方法的空實(shí)現(xiàn)
- 只需要實(shí)現(xiàn)intercept方法即可
查看全部 -
strust2的工作流程: 客戶端通過HttpServletRequest向Tomcat容器發(fā)送請(qǐng)求---->過濾器(核心控制器StrutsPrepareAndexecuteFiler)----> 核心控制器訪問ActionMapper來決定是否調(diào)用某個(gè)action(如果是jsp頁(yè)面等則不會(huì)調(diào)用action)------> 核心控制權(quán)ActionProxy(action代理)---->ConfigurationManager(配置管理器)加載struts.xml找到要調(diào)用的action---> ActionProxy(action代理)創(chuàng)建Action invocation實(shí)例--->調(diào)用攔截器123————》攔截器執(zhí)行完后才執(zhí)行action 調(diào)用action業(yè)務(wù)處理方法 同時(shí)這個(gè)方法返回一個(gè) 字符串結(jié)果--->根據(jù)字符串去匹配視圖--->再次倒序執(zhí)行攔截器321 ----最后通過HttpServletRequest響應(yīng)請(qǐng)求
查看全部 -
內(nèi)建攔截器2
查看全部 -
Struts2內(nèi)建攔截器
查看全部 -
方法2:繼承AbstractInterceptor類
查看全部 -
實(shí)現(xiàn)Interceptor接口
查看全部 -
Strust2架構(gòu)
查看全部
舉報(bào)