成人免费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

2009-08-18 14:15:12

2017-08-22 18:34:24

WinLicense軟件授權

2025-01-07 08:55:54

2010-03-31 10:24:15

服務器虛擬化

2021-07-26 09:35:26

SQL數據庫優化

2016-09-09 01:07:06

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

2023-08-01 19:16:01

Spring編程瀏覽器

2014-08-11 10:10:39

linux

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-11-05 10:01:26

Visual Stud

2009-12-11 13:31:31

策略路由配置

2016-08-10 09:29:11

云計算

2010-09-07 09:42:23

2010-03-15 12:50:19

Python文件夾創建

2009-02-25 16:09:17

Windows優化XPy
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品国产青草久久久久福利 | 一区在线观看 | 亚洲精品国产成人 | 欧美日韩精品中文字幕 | 久久久久久久久国产精品 | 精品一区二区三区入口 | 在线免费看91 | 精品久久久久一区二区国产 | 国产亚洲精品精品国产亚洲综合 | 成人av一区 | 国产精品欧美一区二区三区不卡 | 日本久久网 | 欧美xxxⅹ性欧美大片 | 九九热在线观看视频 | 成人一级片在线观看 | 国产午夜精品一区二区三区四区 | www日本高清视频 | 日韩精品一区二区三区 | 国产黄色大片 | 在线视频一区二区三区 | 黑人粗黑大躁护士 | 精品久久久久久亚洲精品 | 夜夜艹天天干 | 久久久成人免费视频 | 日韩www| 日韩一级在线 | 日日精品 | 日韩黄a | 久操福利 | 日本精品免费在线观看 | 青青草社区 | 99精品国产一区二区三区 | 日韩成人在线免费观看 | 国产一区二区免费在线 | 日本不卡一区 | av网址在线 | 欧美高清hd | 丝袜一区二区三区 | 国产高清精品在线 | 中文字幕第一页在线 | 色又黄又爽网站www久久 |