`
jetway
  • 浏览: 474560 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

struts2 webwork

    博客分类:
  • java
阅读更多

春节大假结束了,又该开始学习了。春节期间发生了一些高兴的事,其中之一便是apache终于发布了struts2的正式版:struts2.0.6GA,所以我也该从webwork迁移至struts2。
struts2基本上就是webwork的翻版,所以迁移过程倒是很简单,只需要修改下配置文件和一些包名就可以了。如果在Eclipse、Netbeans这些集成开发工具的帮助下,记不清包名也很容易找到想要的类的,呵呵。

在Eclipse下建立一个Dynamic Web Application。

从struts2.0.6的lib目录中复制下面的库文件到WEB-INF/lib目录下:
commons-logging-1.1.jar
freemarker-2.3.8.jar
ognl-2.6.9.jar
struts-api-2.0.6.jar
struts-core-2.0.6.jar
struts-spring-plugin-2.0.6.jar
xwork-2.0.0.jar

从spring中lib目录中复制下面的库文件到WEB-INF/lib目录下:
spring.jar

修改web.xml,增加一个struts的分派器filter,映射所有的url-pattern,再增加一个spring的ContextLoaderListener监听器。修改后的内容如下:
<!--l version="1.0" encoding="UTF-8-->

xml 代码

 

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app id="WebApp_ID" version="2.4"  
  3.     xmlns="http://java.sun.com/xml/ns/j2ee"  
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  5.     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  
  6.     <display-name>struts2tutorial</display-name>  
  7.        
  8.     <filter>  
  9.         <filter-name>struts2</filter-name>  
  10.         <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>  
  11.     </filter>  
  12.        
  13.     <filter-mapping>  
  14.         <filter-name>struts2</filter-name>  
  15.         <url-pattern>*.action</url-pattern>  
  16.     </filter-mapping>  
  17.        
  18.     <welcome-file-list>  
  19.         <welcome-file>index.jsp</welcome-file>  
  20.     </welcome-file-list>  
  21.        
  22.     <listener>  
  23.         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
  24.     </listener>  
  25.        
  26. </web-app>  



写一个简单的Action,HelloWorld:

java 代码

 

  1. package tutorial;   
  2. import com.opensymphony.xwork2.ActionSupport;   
  3. public class HelloWorld extends ActionSupport {   
  4.   
  5.     public static final String MESSAGE = "Struts is up and running ...";   
  6.   
  7.     public String execute() throws Exception {   
  8.         setMessage(MESSAGE);   
  9.         return SUCCESS;   
  10.     }   
  11.   
  12.     private String message;   
  13.   
  14.     public void setMessage(String message){   
  15.         this.message = message;   
  16.     }   
  17.   
  18.     public String getMessage() {   
  19.         return message;   
  20.     }   
  21. }  



在源文件路径下(项目的src目录)增加struts.xml配置action。这个文件是集成spring的关键所在,这里面描述有如何将spring2集成到struts2的相关信息:
<!--CTYPE struts PUBLIC<br-->

xml 代码

 

  1. <!DOCTYPE struts PUBLIC   
  2.     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"   
  3.     "http://struts.apache.org/dtds/struts-2.0.dtd">  
  4. <struts>
  5.     <!-- 下面这句表明对象是由spring负责产生的.加上这句后,struts会产生让spring负责</span></li> <li class=""><span class="tag">         产生bean,如果spring不能产生bean,则由struts自己产生.也可以在struts.properties</span></li> <li class=""><span class="tag">         文件内定义这个属性.-->
  6.     <constant name="objectFactory" value="spring"></constant>  
  7.     <package name="struts2tutoial" extends="struts-default" namespace="/">  
  8.         <!-- 注意,现在action的class属性不再是类的名字了,而是在spring中的bean的id</span></li> <li class="alt"><span>             详细信息请看下面的spring的bean配置文件applicationContext.xml -->
  9.         <action name="HelloWorld" class="helloWorld">  
  10.             <result>/helloWorld.jsp</result>  
  11.         </action>  
  12.         <!-- Add your actions here -->  
  13.     </package>  
  14. </struts>  



在WEB-INF/目录下增加spring的bean配置文件applicationContext.xml:
<!--l version="1.0" encoding="UTF-8-->

xml 代码

 

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">  
  3. <beans>  
  4.   
  5.     <bean id="helloWorld" class="tutorial.HelloWorld"></bean>  
  6.   
  7. </beans>  


配置很简单,只有一个bean。

最后,在WebContent目录下增加helloWorld.jsp:
<!--taglib prefix="s" uri="/struts-tags"-->

xml 代码

 

  1. <%@ taglib prefix="s" uri="/struts-tags" %>  
  2.   
  3. <html>  
  4.     <head>  
  5.         <title>Hello World!</title>  
  6.     </head>  
  7.     <body>  
  8.         <h2><s:property value="message" /></h2>  
  9.     </body>  
  10. </html>  
分享到:
评论

相关推荐

    Struts2 WebWork 2.0 Tags API 中文文档 [CHM]

    Struts2 WebWork 2.0 Tags API 中文文档 [CHM] webwork提供了一套不依赖于显示层技术的标签库。这一章我们将概括性的描述每一个标签, 比如此标签支持的属性,标签的行为等等。 大多数的标签都可以用于所有的模板...

    Struts2 WebWork的更新产品

    Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品

    struts2与webwork2

    struts2与webwork2之间的联系与区别

    Struts2-Webwork2-DWR

    WEB2.0相关技术,深入浅出Struts2,Webwork2开发指南,DWR中文文档

    struts2 标签 tags API 参考文档

    struts2 WebWork 2 标签 tags API 参考文档 参考手册

    struts2建立流程

    Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理...

    struts2对webwork的改进

    struts2对webwork的改进struts2对webwork的改进

    STRUTS2+ognl

    STRUTS2 WEBWORK 帮你快速入门

    [Struts 2权威指南--基于WebWork核心的MVC开发(高清完整版) 1/12

    不用多说了,Struts 2权威指南--基于WebWork核心的MVC开发(高清完整版),解压出来有200多M,因为权限不怎么够,我一共分了12卷,是一本不可多得的好书。第一卷附目录: 第1章 Struts 2概述,第2章 Struts 2下的Hello...

    Struts2权威指南完整版

    当Struts2框架诞生后,完全取代了原有的Struts和WebWork框架,Struts2的开发团队将由Struts和WebWork两个团队组成,这保证了Struts2的开发团队更加强大.而且WebWork不再推出新版本,因此,实际项目开发中原来使用Struts和...

    struts2学习文档

    Struts 2是Struts的下一代产品,是在 struts 和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts2以WebWork为核心,采用拦截器的机制来处理...

    Struts 2中文帮助文档

    Struts 2是Struts的下一代产品,是在 struts 和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理...

    struts2的教程,struts2整合了struts1+webwork.基于MVC的Framework

    struts2的教程,struts2整合了struts1+webwork.基于MVC的Framework struts2的教程,struts2整合了struts1+webwork.基于MVC的Framework

    struts1,struts2,webwork,线程安全问题

    struts1,struts2,webwork,线程安全问题,easy518网 http://www.easy518.com/

    03解决struts2配置文件无提示问题

    Struts 2是Struts的下一代产品,是在 struts 和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理...

    Struts 2 技术详解:基于WebWork核心的MVC开发与实践

    Struts 2 技术详解:基于WebWork核心的MVC开发与实践

    struts2 常用的五个jar包

    Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。因为Struts 2和Struts 1有着太大的变化,...

    struts2+webwork+spring.rar

    struts2+webwork+spring.rarstruts2+webwork+spring.rar

    01介绍struts2及struts2开发环境的搭建

    Struts 2是Struts的下一代产品,是在 struts 和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理...

    struts2中文学习文档

    struts2的根本webwork2

Global site tag (gtag.js) - Google Analytics