- 浏览: 1230999 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (718)
- HTML (13)
- JS基础 (23)
- JS应用 (40)
- AJAX (6)
- JSP相关 (12)
- JAVA基础 (52)
- JAVA应用 (74)
- APPLET (11)
- SWING\RCP (2)
- JAVA反射 (6)
- 设计模式 (26)
- 数据库设计 (20)
- Struts (35)
- Struts2 (12)
- Spring (22)
- Hibernate (45)
- Ibatis (18)
- mybatis (3)
- SSH (8)
- UML (5)
- WebService (3)
- XML (16)
- Log4j (7)
- WEB容器 (26)
- 数据结构 (36)
- Linux (34)
- Ruby on Rails (1)
- 其它技术 (27)
- IDE配置 (15)
- 项目实战 (2)
- Oracle (69)
- JAVA报表 (7)
- Android学习 (2)
- 博客链接 (1)
- 网络基础 (1)
- WEB集群 (1)
- .Net开发 (11)
- PB (4)
- 系统构建 (15)
最新评论
-
jnjeC:
牛逼啊哥们,讲得太好了
Maven仓库理解、如何引入本地包、Maven多种方式打可执行jar包 -
九尾狐的yi巴:
很好 感谢!
Itext中文处理(更新版) -
luweifeng1983:
有用的,重启一下嘛。
设置eclipse外部修改文件后自动刷新 -
Master-Gao:
设置了也不管用,怎么破呢?
设置eclipse外部修改文件后自动刷新 -
aigo_h:
锋子还有时间写博客,还是很闲哈!
Add directory entries问题
在集成方式一和二中我们是在web.xml中加入配置代码:
<context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
在集成方式二中,为了使用spring的action我们需要在struts的配置中修改type为代理的action如:
<action-mappings> <action path="/loginjsp" forward="/login.jsp"></action> <action path="/login" type="org.springframework.web.struts.DelegatingActionProxy" name="loginForm"> <forward name="success" path="/login_success.jsp"></forward> </action> </action-mappings>
而在applicationContext-actions.xml中配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd" > <bean name="/login" class="com.lwf.spring.web.action.LoginAction" scope="prototype"> <property name="userDao" ref="userDao"></property> </bean> </beans>
本文就是根据spring Framwork开发手册对上述做一些改进,改进后的配置只需要修改struts-config.xml即可。
1、对于之前在web.xml中加入的代码,我们在struts-config.xml使用插件来实现
如:在struts配置文件中加入
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"> <set-property property="contextConfigLocation" value="/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml"/> </plug-in>
即可替代web.xml中的内容。
2、对于我们使用DelegatingActionProxy,因而要修改struts配置文件中的type属性,那么如果每一个都要改势必麻烦。那么我们可以使用DelegatingRequestProcessor来解决。我们只需要在struts配置文件中加入
<controller> <set-property property="processorClass" value="org.springframework.web.struts.DelegatingRequestProcessor"/> </controller>
增加这些设置之后,不管你查询任何类型的 Action,Sping都自动在它的context配置文件中寻找。 实际上,你甚至不需要指定类型。下面两个代码片断都可以工作:
<action path="/user" type="com.whatever.struts.UserAction"/> <action path="/user"/>
现在要集成spring与struts要怎么做呢。
1、创建web项目,加入struts的所有包和配置文件。可以创建LoginAction测试是否成功。
2、加入spring的所有包,并在src目录创建applicationContext-beans.xml和applicationContext-actions.xml文件
其中applicationContext-beans.xml专门用于注入daoBean,而applicationContext-actions.xml用于写一些与struts-config.xml相对应的action注入。
3、在struts-config.xml中加入plugin和controller即上面所讲的。
4、在applicationContext-actions.xml加入action bean的name必须与struts-config.xml中的path一样
好了。我们把改进后的完整代码贴出来:
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="spring" version="2.5"> <display-name>TestWeb</display-name> <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> </web-app>
applicationContext-actions.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd" > <bean name="/login" class="com.lwf.spring.web.action.LoginAction" scope="prototype"> <property name="userDao" ref="userDao"></property> </bean> </beans>
applicationContext-beans.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd" > <bean id="userDao" class="com.lwf.spring.web.dao.UserDaoImpl" ></bean> </beans>
最后是struts-config.xml
<?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd"> <struts-config> <form-beans> <form-bean name="loginForm" type="com.lwf.spring.web.form.LoginForm"></form-bean> </form-beans> <action-mappings> <action path="/loginjsp" forward="/login.jsp"></action> <action path="/login" name="loginForm"> <forward name="success" path="/login_success.jsp"></forward> </action> </action-mappings> <controller> <set-property property="processorClass" value="org.springframework.web.struts.DelegatingRequestProcessor"/> </controller> <message-resources parameter="MessageResources"></message-resources> <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"> <set-property property="contextConfigLocation" value="/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml"/> </plug-in> </struts-config>
注意看我们的
<action path="/login" name="loginForm"> <forward name="success" path="/login_success.jsp"></forward> </action>
中省略了type也是可以的,因为现在由spring来注入action了。。
因为准备做ssh的集成,所以项目名称改成了SpringStrutsHibernate,不过这里面只包括了spring+struts的集成,实际就是对集成方式二的改进。
- SpringStrutsHibernate.rar (6.8 MB)
- 下载次数: 8
发表评论
-
spring 3 和mybatis 3集成,并用junit4进行测试
2011-11-04 14:01 1468转:spring 3 和mybatis 3集成,并用junit ... -
java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource的解决方法
2011-11-03 16:17 2752用Myeclipse开发struts时,配置struts-co ... -
Strut2+Spring整合框架搭建
2011-11-02 22:19 1081参考:http://lukuijun.iteye.com/bl ... -
Spring+hibernate延迟加载报错解决办法之二
2010-06-29 17:28 1215在做删除操作的时候出现了org.springframework ... -
Spring+hibernate延迟加载报错解决办法之一
2010-06-29 17:25 1214我们在项目中一般都会使用Spring来管理Hibernate的 ... -
Spring项目中怎么配置log4j
2010-05-27 11:10 1588在spring项目中配置log4j http://blogg ... -
Spring与Struts集成方式二
2010-05-26 14:49 1047在集成方式一的基础上做改进: 第一种集成方案是在action ... -
Spring与Struts集成方式一
2010-05-25 14:13 919我们在Struts中在action类中调用Model层组件进行 ... -
Hibernate编程式事务与Spring Aop的声明式事务(spring与hibernate集成)
2010-05-24 17:15 2771采用编程式事务 事务主要分为:编程式事务和声明式事务 ... -
修改Eclipse配置,使得在配置文件中完成自动完成功能。
2010-05-24 15:10 2303在Eclipse中引入spring的配置文件applicati ... -
Spring aop 基于schema的AOP支持及JoinPoint的使用、如何使用CGLIB代理
2010-05-24 14:52 4133基于schema的aop只是将配置写到配置文件中。 代 ... -
Spring AOP 概念理解及@AspectJ支持
2010-05-20 15:56 1586为了更好的理解Spring简介一文http://quicker ... -
Spirng AOP简介
2010-05-19 17:28 2286AOP 面向切面编程(AOP)通过提供另外一种思考程序结构的 ... -
Spring Bean中的自动装配——byType
2010-05-19 17:08 1184自动装配byType即通过查找类属性在配置文件中bean中定义 ... -
Spring Bean中的自动装配——byName
2010-05-19 16:34 3156自动装配(autowire)协作者 Spring IoC容器 ... -
Spring Bean的作用域:用Spring来解决Struts中Action的单实例问题
2010-05-19 10:47 1565我们知道在Struts中Action是从map中拿出来的,是单 ... -
Spring Bean定义的继承
2010-05-19 10:36 1330现有Bean2,Bean3,Bean4,Bean5 可观察到 ... -
Spring Set注入:基本类型、List、Map、Set、Array、Date类型注入
2010-05-18 15:58 11553Spring依赖注入有两种:构造器注入与Set注入 其中以S ... -
spring 初探
2010-05-17 16:53 1258Spring核心设计思想为IOC ... -
简单DAO层示例
2010-05-14 17:30 2085在使用spring架构之前,我们怎么设计自己的DAO层的呢? ...
相关推荐
下面,我们将深入探讨Spring与Struts的集成方式,并基于给定的标题“Spring与Struts集成方式一”展开讨论。 首先,我们需要理解Spring和Struts的核心概念。Spring框架提供了一个全面的基础架构,支持创建健壮的、...
以上就是Spring与Struts集成的第二种方式,它允许我们在Struts2的Action中直接使用由Spring管理的Bean,实现了业务逻辑层和控制层的解耦。这种方式相比第一种,即在Struts2的配置文件中直接配置Bean,更符合Spring的...
下面,我们将深入探讨Spring与Struts集成方案二的关键知识点。 首先,集成的主要目的是将Spring的业务逻辑管理与Struts的视图和控制层结合起来。在方案二中,通常会使用Spring作为应用程序的核心框架,负责管理Bean...
为了方便大家开发,特意制作了intellij环境下maven项目spring+struts集成空模板。直接导入intellij就可以用,模板下有个简单的小例子。对于学习spring+struts集成、以及希望快速开发的人来说都是不错的资源
下面我们将详细探讨Spring与Struts集成的相关知识点。 首先,Spring 框架以其强大的DI(Dependency Injection)和AOP(Aspect Oriented Programming)特性而闻名,它可以管理对象的生命周期和依赖关系,使得代码...
- Spring与Struts2集成,Spring可以作为Struts2的Action的依赖注入容器,通过Spring的ApplicationContext获取服务层对象,实现业务逻辑处理。 - Struts2与Hibernate集成,通常在Action中通过SessionFactory获取...
集成Spring和Struts2的好处在于,Spring可以帮助管理Struts2的Action和业务逻辑,实现松耦合和更好的测试性。同时,Struts2的MVC模型和丰富的插件系统可以提供优雅的用户界面和交互控制。这样的结合,不仅提升了开发...
Spring 和 Struts2 是两个...总之,Spring 和 Struts2 的整合利用了两者的优势,提供了一种强大的方式来构建可扩展、易于维护的 Java Web 应用。通过深入学习和实践,开发者可以掌握这种整合技巧,并在实际项目中应用。
**Spring和Struts集成详解** 在Java Web开发中,Spring框架和Struts框架都是不可或缺的组件,它们分别在依赖注入(DI)和模型-视图-控制器(MVC)架构方面展现出强大的功能。Spring提供了全面的后端服务管理,包括...
5. **拦截器集成**:可以使用Spring的AOP拦截器与Struts 2的拦截器相结合,增强应用的功能。 6. **测试与调试**:整合完成后,进行单元测试和集成测试,确保所有组件协同工作。 整合Spring和Struts 2可以使开发...
标题中的"Spring集成struts以及hibernate jar包"指的是在Java Web开发中,将Spring框架与Struts2和Hibernate框架进行整合的过程。这通常是为了构建一个完整的MVC(Model-View-Controller)架构,其中Spring负责依赖...
这是最灵活的整合方式,因为它完全解耦了Struts Action与Spring,使得Action完全受Spring控制。 以HelloWorld为例,我们来看看第三种方法的具体实现步骤: **Step 1**:修改`struts-config.xml`,将所有的Action...
本文将探讨如何将Spring与Struts进行集成,特别是第一种方案的实现细节。 首先,让我们了解集成Spring和Struts的基本概念。Spring作为一个控制反转(IoC)容器,可以管理Struts中的Action类实例,提供依赖注入,使...
Spring还提供了对Web应用的支持,如Spring MVC,与Struts集成时可提供更灵活的控制层实现。 **Struts框架**: Struts 2.1.6是基于Model-View-Controller(MVC)设计模式的Java Web框架。它提供了一种结构化的方式来...
### Spring与Struts的整合:实现灵活的企业级应用开发 在企业级应用开发领域,Spring框架和Struts框架都是极具影响力的技术。Spring以其强大的依赖注入(DI)和面向切面编程(AOP)能力,提供了良好的环境管理和...
在Java Web开发中,JPA(Java Persistence API)、Spring框架和Struts框架是常见的三大组件,它们分别负责数据持久化、依赖注入与控制层管理。将这三个组件集成在一起可以构建出高效、稳定的企业级应用。下面,我们...
在提供的"spring+struts集成学习笔记和项目源码"中,你将有机会深入理解这些概念,通过实际操作来学习如何将Spring的优秀特性与Struts的高效处理机制结合起来,构建出高效稳定的Web应用。源码分析和实践操作是加深...
通过Action类和拦截器,可以实现与Spring的无缝集成,同时也可以利用Spring的缓存功能,将频繁访问的数据存储在Redis中。 3. **Hibernate框架**:Hibernate是Java领域的一个对象关系映射(ORM)框架,它简化了数据库...