- 浏览: 485640 次
- 性别:
- 来自: 武汉
最新评论
-
zyzyzy123:
请问有工程吗,我现在正在实现打电话的功能,但是一直不通,怀疑是 ...
实用的java 串口通信程序 -
wuhaitong:
引用[img][/img][*][url][/url] ...
jbpm -
迷糊_le:
maven命令, 蛮好的,谢谢
maven eclipse -
Wuaner:
不错的文章 , 谢谢分享!
Hadoop -
yuqihengsheng:
strong 很细
HighLighter
春节大假结束了,又该开始学习了。春节期间发生了一些高兴的事,其中之一便是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 version="1.0" encoding="UTF-8"?>
- <web-app id="WebApp_ID" version="2.4"
- xmlns="http://java.sun.com/xml/ns/j2ee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
- <display-name>struts2tutorial</display-name>
- <filter>
- <filter-name>struts2</filter-name>
- <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
- </filter>
- <filter-mapping>
- <filter-name>struts2</filter-name>
- <url-pattern>*.action</url-pattern>
- </filter-mapping>
- <welcome-file-list>
- <welcome-file>index.jsp</welcome-file>
- </welcome-file-list>
- <listener>
- <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
- </listener>
- </web-app>
写一个简单的Action,HelloWorld:
- package tutorial;
- import com.opensymphony.xwork2.ActionSupport;
- 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){
- this.message = message;
- }
- public String getMessage() {
- return message;
- }
- }
在源文件路径下(项目的src目录)增加struts.xml配置action。这个文件是集成spring的关键所在,这里面描述有如何将spring2集成到struts2的相关信息:
<!--CTYPE struts PUBLIC<br-->
- <!DOCTYPE struts PUBLIC
- "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
- "http://struts.apache.org/dtds/struts-2.0.dtd">
- <struts>
- <!-- 下面这句表明对象是由spring负责产生的.加上这句后,struts会产生让spring负责</span></li> <li class=""><span class="tag"> 产生bean,如果spring不能产生bean,则由struts自己产生.也可以在struts.properties</span></li> <li class=""><span class="tag"> 文件内定义这个属性.-->
- <constant name="objectFactory" value="spring"></constant>
- <package name="struts2tutoial" extends="struts-default" namespace="/">
- <!-- 注意,现在action的class属性不再是类的名字了,而是在spring中的bean的id</span></li> <li class="alt"><span> 详细信息请看下面的spring的bean配置文件applicationContext.xml -->
- <action name="HelloWorld" class="helloWorld">
- <result>/helloWorld.jsp</result>
- </action>
- <!-- Add your actions here -->
- </package>
- </struts>
在WEB-INF/目录下增加spring的bean配置文件applicationContext.xml:
<!--l version="1.0" encoding="UTF-8-->
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
- <beans>
- <bean id="helloWorld" class="tutorial.HelloWorld"></bean>
- </beans>
配置很简单,只有一个bean。
最后,在WebContent目录下增加helloWorld.jsp:
<!--taglib prefix="s" uri="/struts-tags"-->
- <%@ taglib prefix="s" uri="/struts-tags" %>
- <html>
- <head>
- <title>Hello World!</title>
- </head>
- <body>
- <h2><s:property value="message" /></h2>
- </body>
- </html>
发表评论
-
安装和使用memcached
2014-04-16 16:24 643如何将 memcached 融入到 ... -
applicationContext.xml
2013-08-09 09:05 946<?xml version="1.0&quo ... -
注释驱动的 Spring cache 缓存介绍
2013-08-08 07:04 663概述 Spring 3.1 引入了激动人心的基于注释(an ... -
Spring2.5 Annotations
2013-08-08 06:33 860完成setXxxx功能,即配置文件的 <propert ... -
Spring基于注解的缓存配置--EHCache AND OSCache
2013-08-07 23:21 1030本文将构建一个普通工程来说明spring注解缓存的使用方式, ... -
Ehcache 整合Spring 使用页面、对象缓存
2013-08-07 22:51 898Ehcache 整合Spring 使用页面、对象缓存 ... -
javassist教程和示例
2013-05-18 08:57 2012Javassist是一个执行字节 ... -
ZooKeeper官方文档
2013-05-16 17:09 1561介绍(源自ZooKeeper官方文档) 学习HBase过程 ... -
ZooKeeper -例子
2013-05-16 17:08 1215ZooKeeper ZooKeepe ... -
Spring整合Hessian访问远程服务
2013-05-15 13:44 858Spring整合Hessian访问远程服务 目录 1.1 ... -
redis
2013-05-14 11:44 771redis是一个key-value存储系统。和Memcach ... -
spring 资源访问
2013-05-13 08:26 1001spring在java基础上封装了资源访问,简单易用。 R ... -
ZooKeeper——入门
2013-05-08 16:12 911ZooKeeper——入门 博客分类: ZooK ... -
分布式服务框架 Zookeeper -- 管理分布式环境中的数据(IBM)
2013-05-08 14:07 786安装和配置详解 本文 ... -
分布式协调服务---Zookeeper
2013-05-08 14:05 7771、Zookeeper overview Zookee ... -
Hibernate
2013-03-28 13:04 925一、简述 Hibernate 和 JD ... -
Apache+Tomcat集群配置详解
2013-02-01 10:52 896Apache + Tomcat集群配置详解(1) 一、 ... -
Apache+Jboss集群基于反向代理的负载均衡
2013-02-01 10:40 2497假设三台机器IP分别为172.29.128.100、172. ... -
spring + ibatis 多数据源事务(分布式事务)管理配置方法
2012-12-17 15:18 1269spring + ibatis 多数据源事务(分布式事务 ... -
Hessian序列化不设SerializerFactory性能问题
2012-10-31 09:47 1502Hessian序列化不设SerializerFactor ...
相关推荐
Struts2 WebWork 2.0 Tags API 中文文档 [CHM] webwork提供了一套不依赖于显示层技术的标签库。这一章我们将概括性的描述每一个标签, 比如此标签支持的属性,标签的行为等等。 大多数的标签都可以用于所有的模板...
Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品
在探讨Struts2与WebWork2的联系与区别的过程中,我们不得不提到它们的历史渊源以及在Java Web开发领域中的地位。Struts2框架实际上可以视为WebWork2框架的继承者,两者之间的关系紧密而复杂,下面将从多个角度深入...
Struts2、Webwork2 和 DWR 是三个在 Web 开发领域中至关重要的技术,尤其在构建企业级的 WEB2.0 应用程序时。接下来,我们将详细探讨这三个技术的核心概念、工作原理以及它们之间的关系。 **Struts2** 是一个基于 ...
WebWork则是另一个历史悠久的框架,后来成为了Struts2的一部分。WebWork引入了自己的标签库,包括一些与Struts2标签类似的组件。当同时引入Struts和WebWork的jar包时,由于它们的标签库可能有重叠,可能会导致解析...
在选择STRUTS还是WebWork(Struts2)时,开发者应考虑项目需求、团队熟悉程度以及对灵活性和可维护性的要求。STRUTS适合对XML配置熟悉的团队,而WebWork(Struts2)可能更适合追求简洁代码和高度集成的开发环境。...
Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理...
从给定的文件信息来看,标题“struts2中文学习文档”和描述“struts2的根本webwork2”表明这是一份关于Struts2框架的学习资料,特别强调了Struts2与WebWork2的关系。Struts2是Apache Struts的一个版本,它是一个用于...
WebWork的这些特性被集成到Struts 2中,使得Struts 2成为了一个高效且易用的MVC框架。 **Struts 2的生命周期**: 1. 用户发起HTTP请求。 2. Struts 2 框架接收到请求,解析请求参数。 3. 拦截器链开始执行,按照...
- `webwork2开发指南.pdf`则是针对WebWork框架的指导手册,帮助理解WebWork的设计原理和用法。 通过以上文档,你可以系统地学习Struts2和WebWork的基本概念、核心组件以及实际应用。在掌握这两个框架的基础上,...
不用多说了,Struts 2权威指南--基于WebWork核心的MVC开发(高清完整版),解压出来有200多M,因为权限不怎么够,我一共分了12卷,是一本不可多得的好书。第一卷附目录: 第1章 Struts 2概述,第2章 Struts 2下的Hello...
Struts2是对WebWork框架的重大升级和改进,它在保留WebWork强大特性的基础上,引入了更多优化和新特性,使得整个框架更加灵活且易于使用。以下将详细阐述Struts2对WebWork的改进点: 1. **配置文件的多样化**: 在...
Struts2、WebWork和Spring是Java Web开发中三个非常重要的框架,它们各自在不同的层面上解决了应用程序的架构问题。这个"struts2+webwork+spring.rar"压缩包文件很可能是提供了一个整合这三个框架的示例项目或者教程...
### Struts1、Struts2、WebWork框架中的线程安全问题分析 #### 一、Struts1与线程安全问题 在Struts1中,每个`Action`类实例是被多个请求重用的,这使得它在多线程环境下存在潜在的线程安全问题。当多个线程同时...
当Struts2框架诞生后,完全取代了原有的Struts和WebWork框架,Struts2的开发团队将由Struts和WebWork两个团队组成,这保证了Struts2的开发团队更加强大.而且WebWork不再推出新版本,因此,实际项目开发中原来使用Struts和...
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
Struts 2是Struts的下一代产品,是在 struts 和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理...
Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。因为Struts 2和Struts 1有着太大的变化,...
Struts 2是Struts的下一代产品,是在 struts 和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理...