熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

實現一個簡單的struts和spring框架

2013-11-23 20:20:57  來源: Java開源技術 

  apache終於發布了struts的正式版strutsGA所以我也該從webwork遷移至strutsstruts基本上就是webwork的翻版所以遷移過程倒是很簡單只需要修改下配置文件和一些包名就可以了如果在EclipseNetbeans這些集成開發工具的幫助下記不清包名也很容易找到想要的類的呵呵

在Eclipse下建立一個Dynamic Web Application

從struts的lib目錄中復制下面的庫文件到WEBINF/lib目錄下
commonsloggingjar
freemarkerjar
ognljar
strutsapijar
strutscorejar
strutsspringpluginjar
xworkjar

從spring中lib目錄中復制下面的庫文件到WEBINF/lib目錄下
springjar

修改webxml增加一個struts的分派器filter映射所有的urlpattern再增加一個spring的ContextLoaderListener監聽器修改後的內容如下
xml 代碼
<?xml version= encoding=UTF?>  
<webapp id=WebApp_ID version=  
  xmlns=  
  xmlns:xsi=instance  
  xsi:schemaLocation= app__xsd>  
  <displayname>strutstutorial</displayname>  
   
  <filter>  
  <filtername>struts</filtername>  
  <filterclass>orgapachestrutsdispatcherFilterDispatcher</filterclass>  
  </filter>  
   
  <filtermapping>  
  <filtername>struts</filtername>  
  <urlpattern>*action</urlpattern>  
  </filtermapping>  
   
  <welcomefilelist>  
  <welcomefile>indexjsp</welcomefile>  
  </welcomefilelist>  
   
  <listener>  
  <listenerclass>orgsprntextContextLoaderListener</listenerclass>  
  </listener>  
   
</webapp>  

  寫一個簡單的ActionHelloWorld
java 代碼
package tutorial;  
import comopensymphonyxworkActionSupport;  
public class HelloWorld extends ActionSupport {  
  
  public static final String MESSAGE = Struts is up and running ;  
  
  public String execute() throws Exception {  
  setMessage(MESSAGE);  
  return SUCCESS;  
  }  
  
  private String message;  
  
  public void setMessage(String message){  
  ssage = message;  
  }  
  
  public String getMessage() {  
  return message;  
  }  
}  

 

  在源文件路徑下(項目的src目錄)增加strutsxml配置action這個文件是集成spring的關鍵所在這裡面描述有如何將spring集成到struts的相關信息
xml 代碼
<!DOCTYPE struts PUBLIC  
  //Apache Software Foundation//DTD Struts Configuration //EN  
  dtd>  
<struts>
  <! 下面這句表明對象是由spring負責產生的加上這句後struts會產生讓spring負責
  產生bean如果spring不能產生bean則由struts自己產生也可以在strutsproperties
  文件內定義這個屬性>
  <constant name=objectFactory value=spring></constant>  
  <package name=strutstutoial extends=strutsdefault namespace=/>  
  <! 注意現在action的class屬性不再是類的名字了而是在spring中的bean的id
  詳細信息請看下面的spring的bean配置文件applicationContextxml >
  <action name=HelloWorld class=helloWorld>  
  <result>/helloWorldjsp</result>  
  </action>  
  <! Add your actions here >  
  </package>  
</struts>  

 

  在WEBINF/目錄下增加spring的bean配置文件applicationContextxml
xml 代碼 <?xml version= encoding=UTF?>  
<!DOCTYPE beans PUBLIC //SPRING//DTD BEAN //EN beansdtd>  
<beans>  
  
  <bean id=helloWorld class=tutorialHelloWorld></bean>  
  
</beans>  

 

  配置很簡單只有一個bean

最後在WebContent目錄下增加helloWorldjsp
xml 代碼
<%@ taglib prefix=s uri=/strutstags %>  
  
<html>  
  <head>  
  <title>Hello World!</title>  
  </head>  
  <body>  
  <h><s:property value=message /></h>  
  </body>  
</html>  


From:http://tw.wingwit.com/Article/program/Java/ky/201311/28344.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.