成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

五步搞定Spring整合Strus

開發 后端
本文向您介紹Spirng整合Strus的五個通用步驟,包括對配置文件的修改,Action的設置和測試等.

1. 項目需要有Struts包和Spring的core, aop, web 三個包(注意不是Spring自己的Web MVC), 將Spring整合Strus。具體的 .classpath 文件如下所示:

  1. ﹤?xml version="1.0" encoding="UTF-8"?﹥  
  2. ﹤classpath﹥  
  3.     ﹤classpathentry kind="src" path="src"/﹥  
  4.     ﹤classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/﹥  
  5.     ﹤classpathentry kind="con" path="com.genuitec.core.J2EE14_CONTAINER"/﹥  
  6.     ﹤classpathentry kind="lib" path="WebRoot/WEB-INF/lib/antlr.jar"/﹥  
  7.     ﹤classpathentry kind="lib" path="WebRoot/WEB-INF/lib/beanutils.jar"/﹥  
  8.     ﹤classpathentry kind="lib" path="WebRoot/WEB-INF/lib/digester.jar"/﹥  
  9.     ﹤classpathentry kind="lib" path="WebRoot/WEB-INF/lib/fileupload.jar"/﹥  
  10.     ﹤classpathentry kind="lib" path="WebRoot/WEB-INF/lib/logging.jar"/﹥  
  11.     ﹤classpathentry kind="lib" path="WebRoot/WEB-INF/lib/validator.jar"/﹥  
  12.     ﹤classpathentry kind="lib" path="WebRoot/WEB-INF/lib/jakarta-oro.jar"/﹥  
  13.     ﹤classpathentry kind="lib" path="WebRoot/WEB-INF/lib/struts.jar"/﹥  
  14.     ﹤classpathentry kind="lib" path="WebRoot/WEB-INF/lib/mysql-connector-java--bin.jar"/﹥  
  15.     ﹤classpathentry kind="con" path="melibrary.com.MYECLIPSE_SPRING20_CORE"/﹥  
  16.     ﹤classpathentry kind="con" path="melibrary.com.MYECLIPSE_SPRING20_AOP"/﹥  
  17.     ﹤classpathentry kind="con" path="melibrary.com.MYECLIPSE_SPRING20_WEB"/﹥  
  18.     ﹤classpathentry kind="output" path="WebRoot/WEB-INF/classes"/﹥  
  19. ﹤/classpath﹥  

2. 對Struts 配置文件做修改加入Spring 托管功能.

創建 Spring 配置文件,將文件放到src 目錄下,文件名稱為 applicationContext.xml, 編譯后放到WEB-INF/classes/ 下.

配置struts-config.xml文件,添加 spring的插件, 位置在 struts-config 文件的最末尾.

  1. <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"> 
  2. <set-property property="contextConfigLocation" 
  3. value="/WEB-INF/classes/applicationContext.xml" /> 
  4. plug-in>  

3. 修改 Struts 的 struts-config.xml 中的Action配置。原來的代碼:

  1. <action 
  2. attribute="loginForm" 
  3. input="/login.jsp" 
  4. name="loginForm" 
  5. path="/login" 
  6. scope="request" 
  7. validate="true" 
  8. type="com.test.struts.action.LoginAction" />  

改變后的代碼:

  1. <action 
  2. attribute="loginForm" 
  3. input="/login.jsp" 
  4. name="loginForm" 
  5. path="/login" 
  6. scope="request" 
  7. validate="true" 
  8. type="org.springframework.web.struts.DelegatingActionProxy" />  

type 部份為修改內容, 這里將使用spring的代理器來對Action進行控制. 當提交到/login.do是將控制權交給了spring,然后由spring來把它轉回到struts的Action.

4. Spring整合Strus,需要配置spring來實例化上一步中被刪除的 Action 類.

  1. xml version="1.0" encoding="UTF-8"?> 
  2. >   
  3.  
  4. <beans> 
  5. <bean name="/login" class="com.test.struts.action.LoginAction">bean>   
  6.  
  7. beans>   

Spring 通過 org.springframework.web.struts.DelegatingActionProxy 這個類, 然后根據 Struts 配置文件中的 和 Spring 配置文件中的 來將 Spring 管理下的 Struts Action 類和提交的路徑匹配起來, 這些就是關于轉交控制權的配置內容.

實踐的過程中發現必須把 singleton="false"去掉才行, 否則就會無法初始化 Spring 框架, 不知道具體的原因是什么.

既然這個 Struts的Action 已經通過 Spring 來初始化, 所以就可以加入依賴注入, 整合Hibernate 的功能了. 例如典型的情況:

  1. com.test.struts.action.LoginAction   
  2.  
  3. private UserManager userManager;   
  4.  
  5. public UserManager getUserManager()...  
  6. public void setUserManager(UserManager userMgmr) ...   
  7.  
  8. public ActionForward execute(ActionMapping mapping, 
  9. ActionForm form,  
  10.     HttpServletRequest request, HttpServletResponse response) {  
  11.     System.out.println("userManager=" + getUserManager());  
  12.     getUserManager().someBusinessMethods();  
  13.     .....  
  14. }  

然后就可以配置:

  1. <bean name="/login" class="com.test.struts.action.LoginAction"> 
  2.   <property name="userManager"> 
  3.    <ref bean="userManagerBean" /> 
  4.   property> 
  5. bean>   
  6.  
  7. <bean id="userManagerBean" class="manager.UserManager" />   

同理 Spring整合Hibernate 和沒Struts 的時候一樣, 也可以在這個文件中進行配置即可.

5. Spring整合Strus最后一步, 測試, 只要能打印出來 userManager 不為空, 就說明整合成功了. 如果出現 404 action servlet 不可用的錯誤, 一般都是 Spring 配置文件出錯導致的.

 

【編輯推薦】

  1. 實戰解析:如何整合iBatis和Spring
  2. Struts2.0+Springframework2.5+ibatis2.3完美整合實例
  3. WebWork與Spring集成方法淺析
  4. Spring集成Struts方法簡述
  5. 淺談jBPM4與Spring整合的2種方式
責任編輯:佚名 來源: BlogJava
相關推薦

2015-03-10 15:51:23

公有云亞馬遜CloudSeaCloudSearch

2025-05-14 07:06:36

2025-01-07 08:55:54

2009-08-18 14:15:12

2017-08-22 18:34:24

WinLicense軟件授權

2010-03-31 10:24:15

服務器虛擬化

2016-09-09 01:07:06

數據中心容量規劃數據中心

2014-08-11 10:10:39

linux

2021-07-26 09:35:26

SQL數據庫優化

2023-08-01 19:16:01

Spring編程瀏覽器

2023-09-21 22:50:15

KubernetesSpring

2022-02-12 11:00:33

FTP網絡協議文件傳輸

2017-01-06 08:47:53

2025-04-08 03:00:00

SpringDocker容器

2009-12-11 13:31:31

策略路由配置

2009-11-05 10:01:26

Visual Stud

2010-10-22 11:31:53

SQL Server自

2024-08-19 14:04:00

2010-03-15 12:50:19

Python文件夾創建

2009-02-25 16:09:17

Windows優化XPy
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 草在线| 精品亚洲一区二区 | 紧缚调教一区二区三区视频 | 一区二区三区免费 | 黄a免费看 | 在线日韩精品视频 | 国产一区999 | 久久综合久色欧美综合狠狠 | 亚洲国产成人精品久久久国产成人一区 | h在线播放 | 国产精品视频在线免费观看 | 国产激情一区二区三区 | 1000部精品久久久久久久久 | 国产a级毛毛片 | 久热m3u8| 亚洲精品一区二区三区中文字幕 | 欧美一区二 | 午夜影院网站 | 成人午夜影院 | 国产小视频在线观看 | 欧美综合久久 | 欧美激情a∨在线视频播放 成人免费共享视频 | 免费成人在线网站 | 国产精品久久久久久久久久久久午夜片 | 国产精品视频在线免费观看 | 国产高清精品一区二区三区 | 成人av网站在线观看 | av手机在线看 | 亚洲国产一区在线 | 日韩一级免费大片 | 久久久久国色av免费观看性色 | 偷拍自拍网址 | 天天爱av| 亚洲欧洲精品在线 | 一区二区精品 | 毛片久久久 | 久久久入口| 国产精品国产精品国产专区不卡 | www.黄色网| 一区二区三区在线电影 | 亚洲第一天堂 |