本篇文章給大家分享的是有關(guān)怎樣淺析WebWork與Spring集成方法,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。
成都創(chuàng)新互聯(lián)公司是專業(yè)的長(zhǎng)泰網(wǎng)站建設(shè)公司,長(zhǎng)泰接單;提供成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行長(zhǎng)泰網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
WebWork2.1與Spring集成
兩種方法:
法一:先WebWork后Spring(利用webwork2-spring.jar集成)
該方法的執(zhí)行順序是在WeWork與Spring的集成過(guò)程中先WebWork,后Spring。
即,首先在xwork.xml中找到待執(zhí)行的action,如果該action依賴其他bean,再到applicationContext.xml中查找被依賴的bean。
WebWork2的IoC功能實(shí)現(xiàn)是在xwork.xml中,指定action類與其他bean的依賴關(guān)系。即:
(1)xwork.xml文件
myDAO /success.jsp
(2)applicationContext.xml文件
Webwork與Spring集成的具體步驟如下:
1. 下載以下文件:http://www.ryandaigle.com/pebble/images/webwork2-spring.jar
2. 配置xwork.xml
2.1 在xwork.xml中定義action時(shí),采用external-ref來(lái)指定依賴的spring bean
someDao /success.jsp
2.2 在
SpringServletContextReferenceResolver作用是在applicationContext.xml中解析外部引用的bean
2.3 增加一個(gè)攔截器,允許引用作為外部資源進(jìn)行解析
3. 在web.xml中配置Spring與XWork的外部解析器在同一個(gè)Web Context中工作
contextConfigLocation classpath:/applicationContext.xml org.springframework.web. context.ContextLoaderListener com.atlassian.xwork.ext. ResolverSetupServletContextListener
***個(gè)偵聽器是spring必需的,無(wú)論是否與WebWork集成,都要定義該偵聽器;第二個(gè)偵聽器是外部解析器所需要的,作用是通過(guò)ServletContext來(lái)取出Spring的ApplicationContext,作為WebWork與Spring的“橋梁”。
4.applicationContext.xml文件跟xwork.xml文件的存放路徑一下,都在classpath下
在applicationContext.xml中定義被引用的bean
說(shuō)明:
如果不使用WebWork2,完全使用Spring,達(dá)到上述效果,在applicationContext.xml中采取類似定義:
法二:先Spring后WebWork(利用spring-xwork-integration.jar集成)
該方法在WebWork與Spring集成中執(zhí)行的順序是先Spring,后WebWork。即,首先由Spring負(fù)責(zé)wire所有的依賴關(guān)系,再由XWork來(lái)執(zhí)行action。
注意:因?yàn)閄Work為每個(gè)action調(diào)用生成一個(gè)新的類實(shí)例,action在Spring的applicationContext.xml中應(yīng)該配置為prototype。
1. 配置SpringObjectFactory
(0)下載https://xwork-optional.dev.java.net/files/documents/1475/11992/spring-xwork-integration.jar
(1) 可以在web.xml配置
org.springframework.web. context.ContextLoaderListener com.opensymphony.xwork.spring. SpringObjectFactoryListener
(2) 或者:在applicationContext.xml配置
WebWork與Spring集成以上兩種方法任選一種即可。
2. 在applicationContext.xml中定義bean
3. 在xwork.xml中定義action(注意action的class與bean的id相同)
view.jsp
說(shuō)明:
該方法與WebWork 2.2中的方法基本相同。
第二部分:WebWork2.2與Spring的集成
Spring是WebWork2.2中***支持的IoC容器。
1 配置webwork.properties文件,指定spring作為webwork的IoC容器
webwork.objectFactory = spring
(1)默認(rèn)的autowiring模式是:by name
即如果applicationContext.xml文件中的bean id與xwork.xml文件中的action name相同,
(2)如果要改為其他模式:
webwork.objectFactory.spring.autoWire = name|type|auto|constructor
2 配置web.xml文件,啟動(dòng)Spring偵聽器
org.springframework.web. context.ContextLoaderListener
3 在WEB-INF目錄下增加applicationContext.xml文件
例:
...
4 置由Spring來(lái)初始化action
4.1 在Spring的applicationContext.xml文件中配置bean(即action類)
4.2 將xwork.xml中的action的class屬性,由class名改為Spring中定義的bean名
例如:
(1)applicationContext.xml中,定義bean id是bar
...
(2)xwork.xml中,action的class="bar",而不是通常的類名
bar.ftl
以上就是怎樣淺析WebWork與Spring集成方法,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。