官术网_书友最值得收藏!

1.2.2 攔截器應用的目的

之前也對攔截器有個初步的敘述,在Struts 2框架執行Action之前攔截器對各種各樣的操作都預先進行處理。這是AOP編程理念的一個實現,即對某個業務邏輯處理類或流程控制類執行之前或之后,預先或事后對一些和系統業務邏輯沒有太大關系的功能進行處理。

AOP中的術語稱之為"crosscut",中文可以翻譯為“橫切”。而且開發人員不再需要修改原有代碼就能增加很多他們想實現的需求。各組件之間也很獨立,如果系統有變化部分,也能很好地對涉及變化的組件進行修改而不影響到其他組件。其實所謂的“松耦合”也就是這樣的概念。

Struts 2中使用攔截器的目的有如下幾點:

●在Action調用之前提供系統處理流程邏輯控制。也就是Web項目中從一個視圖轉向或導航到目標視圖的邏輯控制。

●和Action交互時,提供Action執行時的一些初始信息。比如和Spring整合時,調用的一些被Spring容器管理的JavaBean類。或者是傳入Action中的一切request、session中的數據。

●在Action執行結束后,一些事后處理的流程邏輯也需要由攔截器實現。

●修改Action中返回的Result信息,這樣可以讓系統導航到開發者需要它導航的目標視圖。

●捕獲異常,保證讓一些可供選擇的流程被執行或者導航一些顯示異常原因或錯誤信息的目標視圖。

主站蜘蛛池模板: 平远县| 迁安市| 桐城市| 梁河县| 甘德县| 浏阳市| 当涂县| 日喀则市| 新河县| 政和县| 洛川县| 通化市| 平邑县| 屯昌县| 大名县| 正定县| 集贤县| 郓城县| 德安县| 乳山市| 双江| 桐乡市| 渑池县| 宣城市| 慈溪市| 泰宁县| 海淀区| 资中县| 枣庄市| 双鸭山市| 旅游| 定南县| 景宁| 都匀市| 怀远县| 滨州市| 巴青县| 武汉市| 隆子县| 延吉市| 封开县|