`
xiaoyaocai
  • 浏览: 39580 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

整合Spring2.0 +struts2.0

阅读更多

 

                   整合Springstruts学习笔记

整合共有三种方法:

使用 Spring ActionSupport类整合 Structs

使用 Spring DelegatingRequestProcessor

覆盖 Struts RequestProcessor  Struts Action管理委托给 Spring 框架

前面二种很简单,但不是最优化的,最优优化是第三种,有兴趣的同志,可以到下面网址去看看

http://www.ibm.com/developerworks/cn/java/j-sr2.html#N1008C

下面,我将以一个实例简单介绍一下二者的整合,以作为个人备忘

对于像我一样的新手,大家一起共同学习,有错误的地方,还望指教。

具体步聚如下:

1、首先是导入需要的包
 看了很多别人的文章,这里都写得不太清楚,我觉得这是比较重要的一步,如果包导入不对,程序就高度不出来,所以,我比较看重这步,因为不是所有人都是很清楚这一步,对于像我这种新手还是有用的,呵呵。

Spring的二个包:
spring.jar
struts2-spring-plugin-2.0.9.jar(其实这个包应该是struts的包哈)
Struts的五个基本包
commons-logging-1.1.jar
freemarker-2.3.8.jar
ognl.jar
struts2-core-2.0.9.jar
xwork-2.0.4.jar
(当然,在我写的这个小程序中,有一些struts包是用不到的!导入了包,下一步就开始了!)

2、配置Spring监听器.
向web.xml加入下面语句:

1 <listener>   
2         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>   
3     </listener>   

下面是完整的web.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>


3、利用Spring配置文件来注册对象

在原有的struts.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负责 
 6         产生bean,如果spring不能产生bean,则由struts自己产生.也可以在struts.properties 
 7         文件内定义这个属性.-->
 8     <constant name="struts.objectFactory.spring.autoWire" value="type" />
 9     <constant name="struts.objectFactory" value="spring" />
10     <!--
11     <constant name="objectFactory" value="spring"></constant>
12     -->
13     <package name="struts2tutoial" extends="struts-default"
14         namespace="/">
15         <!-- 注意,现在action的class属性不再是类的名字了,而是在spring中的bean的id 
16             详细信息请看下面的spring的bean配置文件applicationContext.xml -->
17         <action name="HelloWorld" class="helloWorld">
18             <result>/helloWorld.jsp</result>
19         </action>
20         <!-- Add your actions here -->
21     </package>
22 </struts>
23 

看到上文中的
8     <constant name="struts.objectFactory.spring.autoWire" value="type" />
 9     <constant name="struts.objectFactory" value="spring" />
10     <!--
11     <constant name="objectFactory" value="spring"></constant>
12     -->

这个地方只需要注释中的也行!

4、配置applicationContext.xml

注意,这个文件一定要放在WEB-INF下面,否则会出错,默认情况下,容器会到WEB-INF目录下面去寻找applicationContext.xml文件。如果我们想指定别的地方的配置文件或者指定多个配置文件,可以通过在web.xml文件中定义 context-param元素来指定,除非你在web.xml作如下配置

 1 <context-param>
 2 
 3     <param-name>contextConfigLocation</param-name>
 4  <!-- 下面指的是文件存放路径,下面我还用了一个通配路径,classpath下的所在形如:applicationContext-XX.xml都引入-->
 5     <param-value>
 6         /WEB-INF/applicationContext.xml,classpath:applicationContext-*.xml
 7     </param-value>
 8 
 9  </context-param>
10 


下面是我的appliccationContext.xml全码:

<?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="com.tianji.test.HelloWorld"></bean>   
</beans>
<!--上面的解释下:在前面说了,这个bean中的ID,必须与struts中的action指定的class值一样,此bean中的class就是你要处理的action类,如果你在action时有传值,则在此bean中加入形如:
<property name="message">
    
<value>i love you</value></property>
形式的语句!
 
-->


5、写一个action类
HelloWord.java

 1 package com.tianji.test;    
 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 }   
22 
23 

这个不用解释哈!

6、创建HelloWord.jsp

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

发布,运行服务器,在浏览器中打开:
http://localhost:8080/love/HelloWorld.action

注意修改上面红色部份!

结果:成功!

Struts is up and running````````


分享到:
评论

相关推荐

    Struts2.0+Spring2.0+Hibernate3.1登录及增删改查的完整演示示例

    应广大网友需求,自己抽了点时间写了一个Struts2.0+Spring2.0+Hibernate3.1的登录及增删改查的完整演示示例,以此奉献给大家,由于本人水平有限,有写的不好的地方还望大家多提宝贵意见,如果有不明白的地方请关注我的...

    struts2.0+spring2.5+hibernate3.0整合框架,下载导入到eclipse下即可

    struts2.0+spring2.5+hibernate3.0整合框架,下载导入到eclipse下即可。。启动tomcat前先修改jdbc.properties文件。由于lib文件较大,所以请自行导入相关lib包。

    Struts2.1.6+Struts2.0+Hibernate3.1整合示例

    目的:给学习SSH(Struts2.1.6+Spring2.0+Hibernate3.1)整合的学生。从使用角度看,Struts2的SSH事例比Struts1.x的SSH简单。至于声明式事务部分,你可以参见另外一个资源“Spring 2.0 + Struts 1.2 + Hibernate 3.2 +...

    Struts2+spring2.0+hibernate3.2

    Struts2+spring2.0+hibernate3.2整合带全部jar包 Struts2+spring2.0+hibernate3.2整合带全部jar包 Struts2+spring2.0+hibernate3.2整合带全部jar包

    Spring 2.0 + Struts 1.2 + Hibernate 3.2 + DWR 2.0 的JavaEE应用示例

    该示例使用MyEclipse 5.5 IDE用来整合四个技术(Struts 1.2, Spring 2.0, Hibernate 3.2和Ajax技术)的轻量级的JavaEE。 操作步骤如下: 1. 下载并解压之后,使用MyEclipse导入工程 2. 找到demo目录中的.sql数据库...

    spring 2.0 + struts 2.0 + hibernate 3.2 例子

    本示例"spring 2.0 + struts 2.0 + hibernate 3.2"结合了三个核心的技术,分别是Spring框架、Struts框架以及Hibernate ORM工具,它们各自负责应用的不同层面,共同构建了一个功能强大的后端系统。 **Spring框架 2.0...

    Struts2.0+Spring2.0+Hibernate3.1整合

    本节主要介绍了如何在MyEclipse 6.0环境下配置Struts2.0,并在此基础上进一步整合Spring2.0。通过以上步骤,可以实现Struts2.0和Spring2.0的无缝集成,为后续的业务逻辑处理打下了坚实的基础。下一节将继续介绍...

    spring2.0+struts2.0+ibatis2.3完整整和

    "spring2.0+struts2.0+ibatis2.3完整整合"是一个经典的Java Web开发组合,这个组合在过去的许多年里被广泛应用,为开发者提供了强大的功能和灵活的架构。 **Spring框架(2.0版本)** Spring是一个全面的后端应用...

    struts2.0+spring2.0+hibernate3.0整合开发快速入门-4

    标题与描述均提到了“Struts2.0+Spring2.0+Hibernate3.0整合开发快速入门”,这表明文章旨在介绍如何将这三个框架整合在一起进行企业级Java应用的开发。接下来,我们将深入分析和解释这部分内容所涉及的关键知识点。...

    struts2+spring2.0+hibernate3.2+Security2.0+全部jar包

    struts2+spring2.0+hibernate3.2+Security2.0的demo程序 里面带有 mysql的 DBdump, 可以直接导入DB S2SH的整合使用注解的方式 里面包括全部的jar包

    Struts 2 + Spring 2.0 + Hibernate 3.0

    Struts 2 + Spring 2.0 + Hibernate 3.0整合笔记

    spring2.0+struts1.2+hibernate3

    提供的"spring2.0和struts1.2和hibernate3集成环境配置指导.doc"文档应该包含了详细的步骤和示例代码,对于初学者来说是非常宝贵的资源。"spring_test.sql"可能包含了一些测试数据的SQL脚本,用于初始化数据库。最后...

    Ext2.0+struts2+spring2.5+ibatis2

    在IT领域,构建高效、可扩展的企业级应用是至关重要的,而"Ext2.0+Struts2+Spring2.5+Ibatis2"的组合就是一种常见的技术栈,用于实现这样的目标。这个技术组合提供了从用户界面到数据访问的全方位解决方案。 **Ext...

    struts1.2+spring2.0+hibernate3.1框架整合实例2

    struts1.2+spring2.0+hibernate3.1框架整合实例 part2 part1地址:http://download.csdn.net/source/1555175

    Struts2.0+spring2.0+hibernate开发JAR包

    这个"Struts2.0+spring2.0+hibernate开发JAR包"包含了这三个框架的核心库,方便开发者在项目中快速集成和使用。 **Struts2.0** 是一个基于 Model-View-Controller(MVC)架构的Java Web框架,用于构建动态、数据...

    struts1.2+spring2.0+hibernate3.2 整合源码

    1、struts1.2+spring 2.0+hibernate3.2 2、struts的动作交由spring来管理,hibernate的配置集中在spring中配置。 3、增加了声明式事务处理,加强了hibernateTemplate的简单事务处理。 4、完整的Myeclipse的工程文件...

    spring2.0+hibernate3.0+struts2.0整合jar包

    这个"spring2.0+hibernate3.0+struts2.0整合jar包"是将这三个框架的特定版本打包在一起,方便开发者快速搭建基于SSH的开发环境。下面我们将详细探讨这三大框架及其整合的关键知识点。 **1. Spring框架(2.0版)** ...

    struts2.0+spring2.0+hiberante3+dwr+freemarker整合所需jar包

    Struts2.0、Spring2.0、Hibernate3和DWR以及Freemarker是Java Web开发中的关键组件,它们各自负责不同的职责,并且通过合理的整合,可以构建出强大的企业级应用系统。 Struts2.0是Apache软件基金会下的一个开源MVC...

    Struts2+Hibernate3.2+spring2.0+sqlserver2000

    Struts2、Hibernate3.2、Spring2.0和SQL Server 2000是Java Web开发中的四个关键组件,它们构成了一个强大的企业级应用框架,通常被称为SSH2(Struts2、Spring2、Hibernate2)集成框架。下面将详细阐述这些技术以及...

Global site tag (gtag.js) - Google Analytics