- JavaWeb整合開發實例精通:Struts+Hibernate+Spring
- 閆術卓 吳峻申
- 476字
- 2018-12-31 14:45:33
1.2.2 攔截器應用的目的
之前也對攔截器有個初步的敘述,在Struts 2框架執行Action之前攔截器對各種各樣的操作都預先進行處理。這是AOP編程理念的一個實現,即對某個業務邏輯處理類或流程控制類執行之前或之后,預先或事后對一些和系統業務邏輯沒有太大關系的功能進行處理。
AOP中的術語稱之為"crosscut",中文可以翻譯為“橫切”。而且開發人員不再需要修改原有代碼就能增加很多他們想實現的需求。各組件之間也很獨立,如果系統有變化部分,也能很好地對涉及變化的組件進行修改而不影響到其他組件。其實所謂的“松耦合”也就是這樣的概念。
Struts 2中使用攔截器的目的有如下幾點:
●在Action調用之前提供系統處理流程邏輯控制。也就是Web項目中從一個視圖轉向或導航到目標視圖的邏輯控制。
●和Action交互時,提供Action執行時的一些初始信息。比如和Spring整合時,調用的一些被Spring容器管理的JavaBean類。或者是傳入Action中的一切request、session中的數據。
●在Action執行結束后,一些事后處理的流程邏輯也需要由攔截器實現。
●修改Action中返回的Result信息,這樣可以讓系統導航到開發者需要它導航的目標視圖。
●捕獲異常,保證讓一些可供選擇的流程被執行或者導航一些顯示異常原因或錯誤信息的目標視圖。
推薦閱讀
- Reporting with Visual Studio and Crystal Reports
- The Android Game Developer's Handbook
- 精通網絡視頻核心開發技術
- Yocto for Raspberry Pi
- 深入淺出Serverless:技術原理與應用實踐
- UNIX Linux程序設計教程
- 大學計算機基礎
- iOS開發項目化入門教程
- Java程序設計教程
- TypeScript圖形渲染實戰:2D架構設計與實現
- Java高級程序設計
- Android技術內幕(系統卷)
- Android應用程序設計
- Mastering ArcGIS Server Development with JavaScript
- INSTANT PLC Programming with RSLogix 5000