Struts 2框架整合Spring

2021-06-07 08:42:54 字數 2362 閱讀 8121

struts 2框架整合spring很簡單,下面是整合的步驟。

1.複製檔案。複製struts2-spring-plugin-x-x-x.jar和spring.jar到web-inf/lib目錄下。其中的x對應了spring的版本號。還需要複製commons-logging.jar檔案到web-inf/lib目錄下。

2.配置struts.objectfactory屬性值。在struts.properties中設定struts.objectfactory屬性值:

struts.objectfactory = spring

或者在xml檔案中進行常量配置:

3.配置spring***。在web.xml檔案中增加如下內容:

org.springframework.web.context.contextloaderlistener

<?xml version="1.0" encoding="utf-8"?>

"-//spring//dtd bean//en"

"">

contextconfiglocation

5.修改struts配置檔案。struts 2框架整合spring框架,需要在struts配置檔案中有所改變,下面是乙個示例:

"-//apache software foundation//dtd struts configuration 2.0//en"

"">

foo.ftl

bar.ftl

該配置檔案中定義了兩個action配置:foo是乙個標準的struts 2框架action配置,指定了action實現類為com.acme.foo;bar對應的class並不存在,那麼框架將在spring配置檔案中查詢id屬性為「bar」的定義,該配置檔案如下所示:

<?xml version="1.0" encoding="utf-8"?>

"-//spring//dtd bean//en"

"">

整合原理

struts2與spring的整合要用到spring外掛程式包struts2-spring-plugin-x-x-x.jar,這個包是同struts2一起發布的。spring外掛程式是通過覆蓋(override)struts2的objectfactory來增強核心框架物件的建立。當建立乙個物件的時候,它會用struts2配置檔案中的class屬性去和spring配置檔案中的id屬性進行關聯,如果能找到,則由spring建立,否則由struts 2框架自身建立然後由spring來裝配。spring外掛程式具體有如下幾個作用:

— 允許spring建立action、interceptror和result。

— 由struts建立的物件能夠被spring裝配。

— 如果沒有使用spring objectfactory,提供了2個***來自動裝配action。

struts2-spring-plugin-x-x-x.jar外掛程式中有乙個struts-plugin.xml檔案,該檔案內容如下所示:

"-//apache software foundation//dtd struts configuration 2.0//en"

"">

其中設定了struts 2框架常量struts.objectfactory的值為spring,實際上,spring是org.apache.struts2.spring.strutsspringobjectfactory類的縮寫,預設情況下所有由struts 2框架建立的物件都是由objectfactory例項化的,objectfactory提供了與其他ioc容器如spring、pico等整合的方法。覆蓋這個objectfactory的類必須繼承objectfactory類或者它的任何子類,並且要帶有乙個不帶引數的構造方法。在這裡用org.apache.struts2.spring.strutsspring objectfactory代替了預設的objectfactory。

如果action不是使用spring objectfactory建立的話,外掛程式提供了兩個***來自動裝配action,預設情況下框架使用的自動裝配策略是name,也就是說框架會去spring中尋找與action屬性名字相同的bean,可選的裝配策略還有:type、auto、constructor,開發者可以通過常量struts.objectfactory.spring.autowire來進行設定。 

struts 2框架整合spring後,處理使用者請求的action並不是struts框架建立的,而是由spring外掛程式建立的。建立例項時,不是利用配置action時指定的class屬性值,根據bean的配置id屬性,從spring容器中獲得相應的例項。

Sping框架整合Struts2

匯入spring框架jar包以及struts2框架jar包,並匯入兩個框架的連線jar包struts2 spring plugin 2.3.4.1.jar可能版本不同 將action類配置為,由spring容器管理,方便將spring將業務層例項注入action類例項 name user class...

Spring框架整合Struts2

匯入spring的dist全部所需的jar包 struts2的spring外掛程式 struts2 spring plugin.xx.jar struts2的核心包 struts2 core.xx.jar xwork core.xx.jar commons.logging.xx.jar 根據需要選擇...

Struts2驗證框架

action配置中一定要設定input返回頁面 新增驗證只要建立驗證的xml檔案 在action同包下,建立 action類名 validation.xml 如 validateaction建立validateaction validation.xml 注意 1.要驗證的方法不能叫input.2.這...