struts與Spring整合
與 Struts 相似,Spring 可以作為一個 MVC 實現。這兩種框架都具有自己的優點和缺點,儘管大部分人同意 Struts 在 MVC 方面仍然是最好的。很多開發團隊已經學會在時間緊迫的時候利用 Struts 作為構造高品質軟體的基礎。Struts 具有如此大的推動力,以至於開發團隊寧願整合 Spring 框架的特性,而不願意轉換成 Spring MVC。沒必要進行轉換對您來說是一個好訊息。Spring 架構允許您將 Struts 作為 Web 框架連線到基於 Spring 的業務和持久層。最後的結果就是現在一切條件都具備了。
在接下來的小竅門中,您將會了解到三種將 Struts MVC 整合到 Spring 框架的方法。我將揭示每種方法的缺陷並且對比它們的優點。 一旦您瞭解到所有三種方法的作用,我將會向您展示一個令人興奮的應用程式,這個程式使用的是這三種方法中我最喜歡的一種。
接下來的每種整合技術(或者竅門)都有自己的優點和特點。我偏愛其中的一種,但是我知道這三種都能夠加深您對 Struts 和 Spring 的理解。在處理各種不同情況的時候,這將給您提供一個廣闊的選擇範圍。方法如下:
- 使用 Spring 的
ActionSupport
類整合 Structs - 使用 Spring 的
DelegatingRequestProcessor
覆蓋 Struts 的RequestProcessor
- 將 Struts
Action
管理委託給 Spring 框架
無論您使用哪種技術,都需要使用 Spring 的 ContextLoaderPlugin
為 Struts 的 ActionServlet
裝載 Spring 應用程式環境。就像新增任何其他外掛一樣,簡單地向您的 struts-config.xml 檔案新增該外掛,如下所示:
xml 程式碼
<plug-in className= "org.springframework.web.struts.ContextLoaderPlugIn"> <set-property property= "contextConfigLocation" value="/WEB-INF/beans.xml"/> </plug-in>
<plug-in classname=" "></plug-in>
<set-property property=" " value="/WEB-INF/beans.xml"></set-property>
|
前面已經提到過,在 下載 部分,您能夠找到這三個完全可使用的例子的完整原始碼。每個例子都為一個書籍搜尋應用程式提供一種不同的 Struts 和 Spring 的整合方法。您可以在這裡看到例子的要點,但是您也可以下載應用程式以檢視所有的細節。
竅門 1. 使用 Spring 的 ActionSupport
手動建立一個 Spring 環境是一種整合 Struts 和 Spring 的最直觀的方式。為了使它變得更簡單,Spring 提供了一些幫助。為了方便地獲得 Spring 環境,org.springframework.web.struts.ActionSupport
類提供了一個 getWebApplicationContext()
方法。您所做的只是從 Spring 的 ActionSupport
而不是 Struts Action
類擴充套件您的動作,如清單 1 所示:
清單 1. 使用 ActionSupport 整合 Struts
|
讓我們快速思考一下這裡到底發生了什麼。在 (1) 處,我通過從 Spring 的 ActionSupport
類而不是 Struts 的 Action
類進行擴充套件,建立了一個新的 Action
。在 (2) 處,我使用 getWebApplicationContext()
方法獲得一個 ApplicationContext
。為了獲得業務服務,我使用在 (2) 處獲得的環境在 (3) 處查詢一個 Spring bean。
這種技術很簡單並且易於理解。不幸的是,它將 Struts 動作與 Spring 框架耦合在一起。如果您想替換掉 Spring,那麼您必須重寫程式碼。並且,由於 Struts 動作不在 Spring 的控制之下,所以它不能獲得 Spring AOP 的優勢。當使用多重獨立的 Spring 環境時,這種技術可能有用,但是在大多數情況下,這種方法不如另外兩種方法合適。
你可以通過這個連結引用該篇文章:http://pearlkeeper.bokee.com/tb.b?diaryId=15898688
相關文章
- struts與spring 的整合Spring
- Struts2【與Spring整合】Spring
- [文件中]Struts與Spring整合Spring
- Struts 和Spring ioc 整合Spring
- spring整合struts2Spring
- Struts+Spring整合3Spring
- [我]Struts+Spring整合Spring
- spring整合struts2(續)Spring
- [我]Struts+Spring的整合Spring
- mybatis+spring+struts2框架整合MyBatisSpring框架
- [摘]Struts+Spring+Hibernate整合Spring
- 使用 Spring 更好地處理 Struts 動作----三種整合 Struts 應用程式與 Spring 的方式Spring
- [求助] STRUTS2和SPRING整合問題Spring
- spring json dwr struts2.0 hibernate整合SpringJSON
- Struts2+Spring整合後Action物件建立方式Spring物件
- SSH開發實踐part4:Spring整合StrutsSpring
- struts+hibernate+spring 整合中出現的問題Spring
- Struts2+hibernate+spring配置程式整合下載Spring
- Spring與ActiveMQ整合SpringMQ
- spring與redis整合SpringRedis
- Mybatis與Spring整合MyBatisSpring
- spring:spring與mybatis的整合SpringMyBatis
- 框架(Spring、Struts2和Hibernate三者)整合框架Spring
- ElasticSearch與Spring Boot整合ElasticsearchSpring Boot
- 【RabbitMQ】RabbitMQ與Spring整合MQSpring
- CAS與Spring的整合Spring
- Unit08: Spring與MyBatis整合 、 Spring整合MyBatis應用SpringMyBatis
- Spring AI與大模型Ollama如何整合整合?SpringAI大模型
- Solr與Spring Boot整合 - ViithiisysSolrSpring Boot
- Spring與Web環境整合SpringWeb
- Spring Cache與Ehcache 3整合Spring
- 將Flex與Spring框架整合FlexSpring框架
- Spring同時整合JPA與MybatisSpringMyBatis
- mybatis與spring整合ssm01MyBatisSpringSSM
- Spring Cache + Caffeine的整合與使用Spring
- Spring mvc+struts2+Hibernate整合例項程式碼(註解詳解)SpringMVC
- [java web]Idea+maven+spring4+hibernate5+struts2整合過程JavaWebIdeaMavenSpring
- Spring Boot 與 R2DBC 整合Spring Boot