三大框架的整合步骤:
* 新建一个工程
* 把整个工程的编码改变成utf-8
* 把整个jsp页面也改变成utf-8
* 导包
web-inf
lib
struts
hibernate
spring
db
junit
* 建三个src folder
src 存放源代码的
cn.itcast.s2sh0909.struts2.action
cn.itcast.s2sh0909.dao
cn.itcast.s2sh0909.dao.impl
cn.itcast.s2sh0909.service
cn.itcast.s2sh0909.service.impl
cn.itcast.s2sh0909.domain
config 存放所有的配置文件
struts2
hibernate
spring
applicationContext.xml
applicationContext-db.xml
...........
test 存放测试类
cn.itcast.s2sh0909.test
* 在dao和service层相应的包中写接口和类
* 在applicationContext-db.xml文件中写sessionFactory
* 在cn.itcast.s2sh0909.test包中新建一个类SessionFactoryTest,目的是为了测试SessionFactory
是否配置正确
* 写spring的声明式事务处理
* 在spring的配置文件中写dao和service
* 通过savePerson方法测试声明式事务处理
* 编写action
* 编写struts2的配置文件
* 编写web.xml文件
* 测试
整合原理:
* web.xml
* spring容器是以监听器的形式与tomcat整合的
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/applicationContext.xml</param-value>
</context-param>
* 以过滤器的形式整合struts2容器
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
说明:
* createContextLoader() 加载spring的web容器
* initWebApplicationContext
* 初始化spring的web容器
* 加载其配置文件
* 当执行完这两个方法以后,就启动spring的web容器了,在spring容器中,单例模式的
bean就被实例化了,所以dao和service层的对象和代理对象就在这个时候产生了
当tomcat启动的时候
在tomcat启动的时候,干了两件事情:
* 加载了各种配置文件
* 静态注入了一些bean
请求url:personAction_savePerson.action
步骤
* 先找struts的配置文件,会找根据struts2的相关配置查找action的创建方式
* 会去常量struts.objectFactory查找到底是由哪个类创建了action
* 会去struts-default.xml,struts-plugin.xml,struts.xml文件去找struts.objectFactory
* 哪个配置文件加载在最后,哪个决定
* 最后在struts和spring整合的包中找到了struts-plugin.xml文件
<bean type="com.opensymphony.xwork2.ObjectFactory" name="spring" class="org.apache.struts2.spring.StrutsSpringObjectFactory" />
<constant name="struts.objectFactory" value="spring" />
* 由上述的内容可以知道,action是由StrutsSpringObjectFactory创建的,而该类继承了SpringObjectFactory
该源代码中beanName就是struts2配置文件中的action元素的class属性的值,这就意味着
class属性的值要和spring容器中action所在的bean所指定的id值要一致
相关推荐
最简单的Spring+Struts2+Hibernate整合例子,MySql数据库,IDE是JavaEE版的Eclipse,tomcat7.0 ,实现功能:登录+注册+增删改查+一键清空数据库表的数据。所有jar文件都在里面了。
在IT行业中,SSH(Spring、Struts2、Hibernate)是一个经典的Java Web开发框架组合,而Redis则是一个高性能的键值存储系统,常用于缓存和数据持久化。将SSH与Redis整合,可以提升应用程序的性能和响应速度。下面将...
一个简单的spring+struts2+hibernate+mybatis整合(数据库脚本放在项目资源文件的sql目录下) 因为没想好mvc用springmvc好,还是struts2好 所以没有整合进去
标题中的"Spring+Struts2+Hibernate整合"指的是在Java Web开发中,将Spring框架、Struts2框架和Hibernate框架集成在一起,以构建一个高效、模块化的应用系统。这三个框架分别在不同的层面上发挥着作用:Spring作为...
在这个项目中,“spring+struts2+hibernate整合实现分页”是一个基础教程,旨在帮助初学者理解如何在SSH框架下实现数据的分页展示。下面将详细讲解这个主题中的关键知识点。 1. **Spring框架**:Spring是Java应用的...
### SSH框架整合详细步骤(spring+struts2+hibernate) #### 一、整合概述 在现代Web应用开发中,SSH(Struts2、Spring、Hibernate)框架因其各自独特的功能和优势,常被组合使用以构建高效、稳定且易于维护的系统...
这个"Spring+Struts2+Hibernate整合JAR包"是一个集合了这三个框架所需库文件的压缩包,旨在帮助开发者快速搭建基于这三大框架的Java Web应用。通过整合这些JAR包,开发者可以减少配置工作,提高开发效率。 Spring...
根据标题、描述和部分内容,知识点覆盖范围主要集中在Java Web开发领域,并且包括了JSP、Servlet、Ajax以及SSH框架(Struts 2、Spring、Hibernate)的技术整合和实战案例分析。 JSP(Java Server Pages)是一种动态...
SSH (Spring+Struts2+Hibernate)整合步骤纯手写
library_ssh2可能是一个包含系统源代码的压缩文件,"ssh2"可能表示系统使用了Struts2、Spring2和Hibernate2这三个框架的早期版本。这个文件中应包含所有必要的Java源代码、配置文件、Web应用相关的资源(如JSP页面、...
总结来说,"spring+struts2+hibernate"的整合是Java Web开发中常用的技术组合,通过注解和事务管理可以构建出高效、易维护的Web应用。在这个留言板的例子中,我们可以清晰地看到三个框架如何协同工作,实现一个完整...
Struts2与Spring的整合可以实现更加流畅的流程控制。 3. Hibernate框架:Hibernate是一个强大的对象关系映射(ORM)工具,它将数据库操作转化为对Java对象的操作,简化了数据持久化的过程。在本项目中,Hibernate...
在IT行业中,Web开发是至关重要的领域,而Spring、Struts2和Hibernate是Java Web开发中的三大主流框架。它们各自负责不同的职责,Spring提供依赖注入和面向切面编程,Struts2处理MVC(模型-视图-控制器)架构,而...
SSH2整合指的是Spring、Struts2和Hibernate三个开源框架的集成应用。这三大框架分别负责不同的职责:Spring作为基础架构框架,提供依赖注入(DI)和面向切面编程(AOP),Struts2则用于MVC(Model-View-Controller)...
"Spring+Struts2+Hibernate框架整合"是Java Web开发领域中的一种常见架构模式,它结合了Spring的依赖注入、AOP(面向切面编程)、事务管理,Struts2的MVC(模型-视图-控制器)设计模式,以及Hibernate的对象关系映射...
标题中的"spring+struts1+hibernate+jbpm实例"揭示了这是一个基于Java技术栈的Web应用程序开发实例,其中涉及四大核心技术:Spring、Struts1、Hibernate和JBPM。接下来,我们将深入探讨这些技术及其在实际项目中的...
在IT行业中,Web开发是至关重要的领域,而Spring、Struts2和Hibernate是Java Web开发中的三大主流框架,它们各自负责不同的职责,协同工作可以大大提高开发效率和代码质量。本项目是一个基于这三个框架的实例,旨在...
这个项目源码提供了这样一个集成实例,名为"整合spring4+struts2+hibernate4项目源码",它展示了如何将这三个框架无缝结合在一起,以实现高效的业务逻辑处理和数据持久化。前端部分则采用了Bootstrap框架,提供了...
这是spring、struts2、hibernate三大框架的整合过程详细文档,有兴趣的可以看看,spring structs2