国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Struts2 攔截器

2019-11-15 00:46:09
字體:
來源:轉載
供稿:網友
Struts2 攔截器

1. 為什么要使用攔截器

2. 攔截器的原理 它有三個階段:1. 執行Action之前的處理 2.調用ActionInvocation的invoke()方法將控制器轉交給后續攔截器或者返回結果字符串終止執行 3. 執行Action之后的處理

3. Struts2 內置攔截器 1) params 攔截器 2)staticParams攔截器 3)servletConfig攔截器 4)fileUpload 攔截器 5) validation 攔截器 6)workflow 攔截器 7) exceiption 攔截器 等

Struts2的默認攔截器可以查看 struts-default.xml 文件。

<interceptors> <!-- 定義攔截器 --> <interceptor name="de

<!-- 定義攔截器棧 --> <interceptor-stack name="basicStack">

<!-- 指定引用的攔截器 --> <interceptor-ref name="exception"/> <interceptor-ref name="servletConfig"/> <interceptor-ref name="prepare"/> </interceptor-stack> </interceptors>

<!-- 定義默認的攔截器引用 --> <default-interceptor-ref name="defaultStack"/>

提示: 攔截器棧有多個<interceptor-ref>,誰在前,誰先起作用 攔截器起作用的順序:先<action>, 再本包,再父包

4. 攔截器的配置【自定義】 <interceptor .../> <interceptor-ref ...>

5. 自定義攔截器 方法1: 實現Interceptor接口 該接口提供了3個方法,1) void init(),該攔截器被初始化之后,在攔截器執行攔截之前,系統回調該方法。2) void destroy() ,在攔截器實例被銷毀之前。 3) String intercept(ActionInvocation ai) throws Exception: 用戶需要實現的攔截器動作。 提示: ActionInvocatio 代表當前action 執行的狀態

方法2: 繼承AbstractInterceptor 抽象類【推薦使用該方法】 該類提供了 init() 和 destroy()方法的空實現; 只需要實現intercept()方法即可

方法3:繼承MethodFilterInterceptor類: 指定攔截的方法; 指定不攔截的方法

--------------

步驟:1) 繼承AbstractInterceptor實現攔截器類 2) struts.xml中定義攔截器       <interceptor name="..." class="..." />   3) <action> 引用攔截器     單獨引用: 引用自定義和默認攔截器     攔截棧引用: 定義攔截器棧包含自定義和默認攔截器

6. 攔截器與過濾器 相似點: 功能相似; 原理相似;方法類似; 不同點:內容不同,攔截器用于攔截對Action請求,而過濾器幾乎可以過濾所有的內容 攔截器中可以獲取Action的當前執行狀態,而過濾器不可以 過濾器是Servlet中概念,在Web.xml中配置; 攔截器是struts/webWork中概念,在struts.xml中配置。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 云龙县| 云梦县| 万全县| 邻水| 杂多县| 昭苏县| 吉首市| 广昌县| 彩票| 万宁市| 冕宁县| 金塔县| 镇原县| 莱西市| 佳木斯市| 扎鲁特旗| 府谷县| 凯里市| 调兵山市| 治多县| 仪征市| 织金县| 高雄县| 牡丹江市| 灵宝市| 香格里拉县| 灵璧县| 镇江市| 东港市| 淮安市| 海林市| 禹城市| 磐石市| 象州县| 呼和浩特市| 昭苏县| 襄垣县| 关岭| 潼关县| 灵台县| 突泉县|