- 浏览: 567707 次
文章分类
- 全部博客 (235)
- 数据库 (12)
- j2se (10)
- JQuery (2)
- 经验总结 (4)
- 防毒 (1)
- Struts (20)
- Spring (12)
- 项目 (3)
- 电脑维修项目 (1)
- Eclipse (2)
- JSP (13)
- mysql (5)
- Hibernate (54)
- ssh (1)
- 学习网站 (1)
- tomcat (9)
- servlet (24)
- java语言基础 (1)
- jbpm (1)
- linux (0)
- 技巧积累 (1)
- javaBean (2)
- 设计模式 (2)
- 实用的操作 (9)
- oracle (1)
- UML学习 (1)
- 版本控制 (1)
- 框架 (9)
- javaWeb基础 (13)
- c语言 (0)
- ant (0)
- 关于权限 (3)
- 真正开发有用 (5)
- javascript (2)
- 算法 (1)
- J2EE (1)
- junit (1)
最新评论
-
alleni123:
不错 一搜就搜到这个了
ssession和servletContext的比较 -
hua7381:
楼主,你真实帮了大忙了!!
万能乱码处理---url传中文 -
albrich:
1楼是正解
摘] 装了个Tomcat遇到的问题 -
JA_mcj:
ssession和servletContext的比较 -
haotw:
看了很有帮助,总算对hibernate的延迟加载有一定的了解了 ...
[转]hibernate延迟加载
Struts与Spring整合方法之一- -
最近用Struts,Spring做了一个程序,看了很多这方面的资料和代码。这篇是对Struts和Spring协同工作所需要做的工作的总结。
Struts和Spring协同工作有两种方法:
1. 一种是在Struts的Action中直接调用Spring的Bean;(就是原来一个路径对一个action的方法)
2. 另一种方式是将Struts的Action作为Spring Beans,由Spring进行管理。
要使Struts与Spring协同工作需要修改Struts的配置文件struts-config.xml和Spring的配置文件applicationContext.xml
修改struts-config.xml
- <struts-config>
- <plug-in
- className="org.springframework.web.struts.ContextLoaderPlugIn">
- <set-property property="contextConfigLocation"
- value="/WEB-INF/applicationContext.xml" />
- </plug-in>
- </struts-config>
通过
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts
- Configuration 1.2//EN"
- "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
- <struts-config>
- <!-- ================ Form Bean Definitions ================-->
- <form-beans>
- <form-bean name="userForm"
- type="org.apache.struts.validator.DynaValidatorForm">
- <form-property name="user" type="org.appfuse.model.User"/>
- </form-bean>
- </form-beans>
- <!-- ================ Action Mapping Definitions ================-->
- <action-mappings>
- <action path="/user"
- type="org.springframework.web.struts.DelegatingActionProxy"
- name="userForm" scope="request" parameter="method" validate="false">
- <forward name="list" path="/userList.jsp"/>
- <forward name="edit" path="/userForm.jsp"/>
- </action>
- </action-mappings>
- <!-- <action-mappings>
- <action path="/user"
- type="com.ctbr.springtest.web.action.UserAction"
- name="userForm" scope="request" parameter="method" validate="false">
- <forward name="list" path="/userList.jsp"/>
- <forward name="edit" path="/userForm.jsp"/>
- </action>
- </action-mappings>-->
- <!-- ================= Plug Ins Configuration ================-->
- <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
- <set-property property="contextConfigLocation"
- value="/WEB-INF/applicationContext.xml,
- /WEB-INF/action-servlet.xml"/>
- </plug-in>
- </struts-config>
在Action配置上也需要做修改,
我们试图在action-mapping 中增加一个名为userForm的Action,传统方式中,直接将类名作为action节点的type属性,Struts将根据type中的类名加载对应的Action实例。
而在面向SS组合的配置方式中,我们用Spring提供的DelegatingActionProxy 作为Action的type属性。DelegatingActionProxy同样是org.apache.struts.action.Action的一个子类,它将把调用请求转交给真正的Action实现。下面是DelegatingActionProxy的execute方法代码:
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
//获得实际的Action实例,并将请求转交
Action delegateAction = getDelegateAction(mapping);
return delegateAction.execute(mapping, form, request, response);
}
如此一来,Struts 在运行期加载的实际上是DelegatingActionProxy , 而DelegatingActionProxy则实现了针对实际Action的调用代理,Struts最终调用的将是由Spring管理的Action实例。
通过这样的方式,Spring 获得了对Action 实例的管理权,它将对Action进行调度,并为Struts提供所需的Action实例。既然Action已经由Spring全权接管,那么我们就可以将此Action看作是Spring中的一个Bean,它可享受Spring提供的所有服务(依赖注入、实例管理、事务管理等)。
与之对应,Spring Context配置如下:
applicationContext.xml:
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
- "http://www.springframework.org/dtd/spring-beans.dtd">
- <!-- 数据源配置 -->
- <beans>
- <bean id="dataSource"
- class="org.springframework.jdbc.datasource.DriverManagerDataSource">
- <property name="driverClassName">
- <value>com.mysql.jdbc.Driver</value>
- </property>
- <property name="url">
- <value>jdbc:mysql://localhost:3306/bbs</value>
- </property>
- <property name="username">
- <value>bao</value>
- </property>
- <property name="password">
- <value>double</value>
- </property>
- </bean>
- <!-- DAO配置 -->
- <bean id="userDao" class="com.ctbr.springtest.dao.jdbc.UserDaoJdbc">
- <property name="dataSource">
- <ref bean="dataSource"/>
- </property>
- </bean>
- <bean id="postDao" class="com.ctbr.springtest.dao.jdbc.PostDaoJdbc">
- <property name="dataSource">
- <ref bean="dataSource"/>
- </property>
- </bean>
- <!-- <bean id="replyDAO" class="com.ctbr.springtest.dao.jdbc.ReplyDaoJdbc">
- <property name="postDao">
- <ref bean="postDAO" />
- </property>
- </bean>
- -->
- <!-- Service配置 -->
- <bean id="userService"
- class="com.ctbr.springtest.service.impl.UserServiceImpl"
- autowire="byType" />
- <bean id="postService"
- class="com.ctbr.springtest.service.impl.PostServiceImpl">
- <!-- <property name="replyDao">
- <ref bean="replyDao" />
- </property>-->
- </bean>
- <!-- Action配置 -->
- <bean name="/user" class="com.ctbr.springtest.web.action.UserAction"
- singleton="false">
- <property name="userService">
- <ref bean="userService"/>
- </property>
- </bean>
- </beans>
发表评论
-
读取sping配置文件1
2007-12-04 23:38 3635xml 代码 <beans> ... -
看到spring的好处!!
2007-10-16 05:23 1910... -
Spring中的HibernateTemplate
2007-10-16 04:41 5258就類似JdbcTemplate一樣,HibernateTemp ... -
[摘]Spring让Hibernate使用者受益良多
2007-10-16 04:33 1225Spring的轻量级的bean容器为业务对象(business ... -
Spring的LocalSessionFactoryBean类
2007-10-16 04:22 6661<script src="http://w ... -
[摘]Spring的jar包解析
2007-10-16 02:41 5863摘自: http://blog.csdn.net/ ... -
ssh整合
2007-10-15 18:38 1697最近看看SSH,从网上看到这篇文章,转过来收藏: 摘自 : ... -
ssh整合
2007-10-15 18:22 2251摘自: http://blog.csdn.net/cz ... -
[摘]Struts+Spring+Hibernate整合
2007-10-15 17:48 1684摘自: http://hi.baidu. ... -
[摘]spring-IoC与DI
2007-10-14 03:36 1917摘自: http://blog.sina.com. ... -
Spring中基本部分
2007-09-08 22:36 921Spring基本原理,bean管理,生命周期,国际化. 声明式 ...
相关推荐
Struts技术资料 hibernate技术资料 spring技术资料 ssh整合技术(struts与hibernate整合,struts与spring整合,hibernate与spring整合,struts,hibernate,spring整合)
以上就是Struts与Spring整合的关键点,整合这两个框架可以使应用程序更易于测试和维护,同时充分利用Spring的强大功能,如依赖注入和事务管理,提高开发效率和应用质量。在实际项目中,需要根据具体需求选择合适的...
在"EJB3与Struts与Spring整合开发(SSE)"的场景中,开发者可能将EJB3作为业务逻辑层,处理复杂的业务操作;Struts作为前端控制器,负责用户交互和请求转发;而Spring则作为整个应用的“胶水”,实现各层间的协调和...
在整合过程中,开发者需要注意配置文件的正确设置,包括Struts2的struts.xml、Hibernate的hibernate.cfg.xml以及Spring的applicationContext.xml等。还需要确保各框架之间的依赖注入正确无误,例如,Spring需要知道...
将Struts与Spring整合可以充分利用两者的优点,实现更高效、更灵活的开发。 **Struts框架详解** Struts是Apache软件基金会的一个开源项目,基于MVC设计模式,主要解决了JSP模型2架构中的控制器问题。它通过...
**Eclipse Struts与Spring整合详解** 在Java Web开发领域,Struts和Spring都是非常重要的框架,它们分别在MVC模式和依赖注入方面扮演着关键角色。Struts作为一个经典的MVC框架,帮助开发者构建可维护的、结构清晰的...
用DelegatingRequestProcessor和DelegatingActionProxy两种方法实现struts和spring的整合,不同的地方就在struts-config.xml文件中,当前文件中DelegatingRequestProcessor是注释的。
4. **Struts与Spring整合**:在Struts的配置文件中,设置Action类由Spring管理,通过`<interceptor-ref>`引用Spring的ModelDriven拦截器,实现模型驱动。 5. **MyBatis与Spring整合**:使用Spring的...
5. **Struts与Spring整合**: 使用Spring的Struts插件,将Action实例化的工作交给Spring,通过`org.springframework.web.struts.DelegatingActionProxy`实现。 通过SSH整合,开发者可以更专注于业务逻辑的实现,而不...
在实际应用中,随着Struts2的出现和Spring Boot的流行,这种Struts1与Spring的整合方式逐渐被新的框架组合取代,如Spring MVC或Spring Boot的WebFlux。然而,对于学习和理解框架整合以及依赖注入的概念,这些基础...
虽然题目中没有提及,但在实际开发中,Spring MVC往往被看作是Struts与Spring整合的最佳实践。Spring MVC是Spring框架的一部分,它提供了一套完整的MVC实现,相比于Struts,Spring MVC更加轻量级,与Spring的集成...
通过以上步骤,一个基本的Struts、Spring和Hibernate整合的应用就搭建完成了。这个整合的关键在于Struts处理HTTP请求,Spring管理业务对象和依赖,而Hibernate则处理数据库操作。这样的架构可以实现松耦合,便于代码...
- **Struts与Spring整合的注意事项**: - 避免直接在Action类中访问Spring上下文,以免破坏Spring的封装性。 - 对Struts的定制可以通过自定义Action代理或者拦截器来实现。 通过以上几个方面的介绍,可以看出SSH...
Struts和Spring之间通过ActionServlet和Spring的DispatcherServlet协同工作,而Spring与Hibernate之间的整合通常通过SessionFactoryBean和HibernateTemplate完成。 8. **用户注册流程**:用户提交注册信息后,...
struts1 spring ibatis整合项目源码struts1 spring ibatis整合项目源码struts1 spring ibatis整合项目源码struts1 spring ibatis整合项目源码struts1 spring ibatis整合项目源码struts1 spring ibatis整合项目源码
1. **Struts与Spring整合**:主要通过Struts2-Spring-plugin实现,配置Struts2的核心配置文件(struts.xml)以指定Spring作为Action的创建者。同时,Action类需要继承SpringActionSupport,并通过`@Component`、`@...
Struts 与Spring整合时,可以通过Spring的Action代理,实现Action的依赖注入,进一步提高代码的可测试性和解耦。 2. **Spring框架**:Spring 提供了一个容器,用于管理应用对象的生命周期和依赖关系。它允许通过XML...
struts struts hibernate spring 整合 PUBhibernstruts hibernate spring 整合 PUBate spring 整合 PUB