Spring整合Struts2的兩種方案

2021-08-31 20:16:27 字數 1987 閱讀 2979

spring整合struts2的兩種方案 收藏

一、需要的jar檔案為:spring和struts2框架本身需要的jar檔案以及他們所依賴的jar檔案,比如commons-logging.jar等等,另外還需要struts2發布包中的struts2-spring-plugin-x.xx.jar。

1. servlet 2.3及以上版本可以使用***,相應配置如下:

contextconfiglocation

org.springframework.web.context.contextloaderlistener

2. servlet 2.3以下版本由於不支援,需要配置,格式如下:

contextconfiglocation

contextloaderservlet

org.springframework.web.context.contextloaderservlet

11. 第一種實現方法:

1) 將struts的業務邏輯控制器類配置在spring的配置檔案中,業務邏輯控制器中引用的業務類一併注入。注意,必須將業務邏輯控制器類配置為scope=」prototype」!

示例如下:

2) 在struts.xml或者等效的struts2配置檔案中配置action時,指定的class屬性為spring配置檔案中相應bean的id或者name值。示例如下:

/index.jsp

2. 第二種實現方法:

1) 業務類在spring配置檔案中配置,業務邏輯控制器類不需要配置,struts2的action像沒有整合spring之前一樣配置,的class屬性指定業務邏輯控制器類的全限定名。

2) 業務邏輯控制器類中引用的業務類不需要自己去初始化,struts2的spring外掛程式會使用bean的自動裝配將業務類注入進來,其實業務邏輯控制器也不是struts2建立的,而是struts2的spring外掛程式建立的。預設情況下,外掛程式使用by name的方式裝配,可以通過增加struts2常量來修改匹配方式:設定方式為:struts.objectfactory.spring.autowire = typename,可選的裝配引數如下:

a) name:等價於spring配置中的autowire=」byname」,這是預設值。

b) type:等價於spring配置中的autowire=」bytype」。

c) auto:等價於spring配置中的autowire=」autodetect」。

d) constructor:等價於spring配置中的autowire=」 constructor」。

四、如果原先在struts2中使用了多個object factory,則需要通過struts2常量顯式指定object factory,方式如下:struts.objectfactory = spring;如果沒有使用多個object factory,這一步可以省略。

五、可以通過設增加struts2常量來指定是否使用spring自身的類快取機制。可以設定的值為true或false,預設為true。設定方式為:struts.objectfactory.spring.useclasscache = false。

六、至此,完成了兩種方式的整合。比較這兩種整合方式,其本質是一樣的。不同之處在於,使用第二種自動裝配的方式時,由於沒有在spring中配在web.xml

裡面設定

struts2

org.apache.struts2.dispatcher.filterdispatcher

*.action

*.jsp

----------struts2的action請求設定

contextconfiglocation

org.springframework.web.context.contextloaderlistener

配置spring管理相關元件。。

Struts 2框架整合Spring

struts 2框架整合spring很簡單,下面是整合的步驟。1.複製檔案。複製struts2 spring plugin x x x.jar和spring.jar到web inf lib目錄下。其中的x對應了spring的版本號。還需要複製commons logging.jar檔案到web inf...

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與Spring的整合

struts2與spring的整合,是mvc和ioc的整合,必須充分利用他們的特性 1 整合的原理 struts2 攔截使用者請求後,需要將資訊通過struts.xml的配置檔案的內容傳遞到相應的action中,在這個時候就需要建立action例項,整合spring框架後,action例項交給spr...