1. 下面给出整合开发时Struts 2、 Hibernate、Spring需要的JAR。
<1> struts2-core-2.x.x.jar :Struts 2框架的核心类库
xwork-2.x.x.jar :XWork类库,Struts 2在其上构建
ognl-2.6.x.jar :对象图导航语言(Object Graph Navigation Language),struts2框架通过其读写对象的属性
freemarker-2.3.x.jar :Struts 2的UI标签的模板使用FreeMarker编写
commons-fileupload-1.2.x.jar 文件上传组件,2.1.6版本后需要加入此文件
struts2-spring-plugin-2.x.x.jar :用于struts2集成Spring的插件
<2> hibernate核心安装包下的(下载路径:http://www.hibernate.org/,点击“Hibernate Core”右边的“Downloads”):
hibernate3.jar
lib/bytecode/cglib/hibernate-cglib-repack-2.1_3.jar
lib/required/*.jar
<3> hibernate 注解安装包下的(下载路径:www.hibernate.org,点击“Hibernate Annotations”右边的“Downloads”):
hibernate-annotations.jar
lib/ejb3-persistence.jar、hibernate-commons-annotations.jar
<4> Hibernate针对JPA的实现包(下载路径:www.hibernate.org,点击“Hibernate Entitymanager”右边的“Downloads”):
hibernate-entitymanager.jar
lib/test/log4j.jar、slf4j-log4j12.jar
<5> Spring安装包下的
dist/spring.jar
lib/c3p0/c3p0-0.9.1.2.jarlib/aspectj/aspectjweaver.jar、aspectjrt.jarlib/cglib/cglib-nodep-2.1_3.jar
lib/j2ee/common-annotations.jarlib/log4j/log4j-1.2.15.jarlib/jakarta-commons/commons-logging.jar
<6> MYSQL数据库驱动jar
2. 在源文件夹下新建Spring配置文件beans.xml,在配置文件中配置c3p0数据源:
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="org.gjt.mm.mysql.Driver"/>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/itcast?useUnicode=true&characterEncoding=UTF-8"/>
<property name="user" value="root"/>
<property name="password" value="123456"/>
<!--初始化时获取的连接数,取值应在minPoolSize与maxPoolSize之间。Default: 3 -->
<property name="initialPoolSize" value="1"/>
<!--连接池中保留的最小连接数。-->
<property name="minPoolSize" value="1"/>
<!--连接池中保留的最大连接数。Default: 15 -->
<property name="maxPoolSize" value="300"/>
<!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->
<property name="maxIdleTime" value="60"/>
<!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 -->
<property name="acquireIncrement" value="5"/>
<!--每60秒检查所有连接池中的空闲连接。Default: 0 -->
<property name="idleConnectionTestPeriod" value="60"/>
</bean>
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
..... 略 </bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="mappingResources">
<list>
<value>cn/itcast/bean/Person.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
hibernate.hbm2ddl.auto=update
hibernate.show_sql=false
hibernate.format_sql=false
</value>
</property>
</bean>
<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<tx:annotation-driven transaction-manager="txManager"/>
3. 实体bean配置模版.hbm.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="cn.itcast.bean">
<class name="Person" table="person">
<id name="id" type="integer" >
<generator class="native"/>
</id>
<property name="name" length="10" not-null="true"/>
</class>
</hibernate-mapping>
4. 在web容器中实例化spring容器和配置struts2
<1> <!-- 指定spring的配置文件,默认从web根目录寻找配置文件,我们可以通过spring提供的classpath:前缀指定从类路径下寻找 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:beans.xml</param-value>
</context-param>
<!-- 对Spring容器进行实例化 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<2> 配置struts2
<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>/*</url-pattern>
</filter-mapping>
<3> struts2的配置文件模版struts.xml如下。常量struts.objectFactory=spring明确指出将由Spring负责创建Action实例。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- 默认的视图主题 -->
<constant name="struts.ui.theme" value="simple" />
<constant name="struts.objectFactory" value="spring" />
<package name="person" namespace="/person" extends="struts-default">
<global-results>
<result name="message">/WEB-INF/page/message.jsp</result>
</global-results>
<action name="action_*" class="personList" method="{1}">
<result name="list">/WEB-INF/page/persons.jsp</result>
<result name="add">/WEB-INF/page/add_person.jsp</result>
<result name="edit">/WEB-INF/page/edit_person.jsp</result>
</action>
</package>
</struts>
5. 为了能从spring容器中寻找到Action bean,要求action配置的class属性值和spring中bean的名称相同。如下:
<package name="itcast" namespace="/person" extends="struts-default">
<action name="list" class="personListAction">
.....
</action>
</package>
分享到:
相关推荐
学习SSH整合,首先需要理解每个框架的基本概念和工作原理,然后学习如何配置它们,例如Struts的struts-config.xml、Spring的applicationContext.xml以及Hibernate的hibernate.cfg.xml和映射文件。接着,实践创建简单...
SSH2整合源码详解 SSH2是Spring、Struts2和Hibernate3三个开源框架的集成,通常用于构建大型的企业级Web应用。这三个框架各司其职,Spring负责管理应用程序的bean,提供AOP(面向切面编程)和IoC(控制反转);...
在SSH2整合中,Log4j通常用于记录应用的运行日志。 整合SSH2不仅可以充分利用各框架的优势,还能降低耦合度,提高代码的可读性和可维护性。然而,整合过程中需要注意配置文件的正确设置,以及可能出现的依赖冲突...
在SSH整合中,我们需要在Spring配置文件中声明Struts2的Action、Hibernate的数据源、SessionFactory以及Service层组件。同时,使用Spring的AOP功能实现事务控制,通过Struts2的插件连接Struts2和Spring,使Action...
在提供的压缩包中,`ssh1与ssh2整合说明.doc`很可能是关于整合步骤和配置细节的文档,而`ssh`和`ssh1`可能是项目的源代码或者示例工程,包含了具体实现的细节。 学习和理解SSH1和SSH2的整合,不仅可以提升对MVC框架...
**SSH2整合开发详解** SSH(Secure SHell)是一种网络协议,用于在不安全的网络环境中提供安全的远程登录和其他网络服务。SSH2是SSH协议的第二个主要版本,提供了更强大的加密和认证机制,以及对多种操作系统的广泛...
在实际项目中,SSH整合的步骤通常包括以下几点: 1. 配置Struts2:定义struts.xml文件,设置Action、结果类型和拦截器栈。 2. 集成Spring:在web.xml中配置Spring的ContextLoaderListener,加载Spring的配置文件,如...
SSH2整合是Java开发中常见的一个技术框架,它是由Struts2、Spring和Hibernate三个开源框架组成的集成解决方案。这三个框架分别负责MVC模式中的表现层、业务层和数据持久层,通过合理的组合,可以构建出高效、灵活的...
《轻量级JAVAEE企业应用实战SSH2整合开发》是一本深入浅出的教程,主要讲解如何使用Struts2、Hibernate和Spring这三大框架(SSH)进行集成开发,以实现高效、灵活的企业级应用程序。第二版针对初学者和有一定经验的...
Spring2.0版本在SSH整合中起到了胶水的作用,它可以管理和协调其他组件,如Struts2的Action实例、Hibernate的数据访问对象(DAO)。此外,Spring还提供了数据源管理、事务控制和JDBC抽象,简化了数据库操作。 ...
在IT行业中,SSH2整合通常指的是将Spring、Struts2和Hibernate这三大开源框架集成到一个项目中,以构建高效、稳定且安全的企业级Web应用。这个过程涉及到多个层次的技术融合,包括前端展示、业务逻辑处理和数据访问...
在SSH整合中,Spring主要负责组装应用组件,如DAO、Service等,并提供事务管理。我们可以使用XML配置文件(spring.xml)来定义Bean的实例化、依赖注入以及事务规则。此外,Spring AOP(面向切面编程)可以用来实现如...
SSH2整合分页是Web开发中的一个重要概念,SSH2指的是Spring、Struts2和Hibernate这三个开源框架的组合,它们在Java Web开发中被广泛应用。在这个场景下,"整合"意味着将这三个框架集成到一个项目中,以实现高效、...
在SSH整合中,Struts2主要负责接收用户的请求,解析请求参数,调用业务逻辑,然后返回视图给用户。Struts2与Spring的结合可以通过Spring插件实现,这样Struts2的Action可以直接从Spring容器获取服务,同时Spring也能...
SSH2整合的笔记文档详细记录了上述步骤,包括每一步的配置细节、可能出现的问题及解决方法。通过阅读这份笔记,初学者可以快速理解SSH2整合的原理和实践操作,为实际项目开发打下坚实基础。在学习过程中,建议结合...
SSH整合是Java开发中一种常见的框架集成方式,它结合了Struts2、Spring和Hibernate三个开源框架,以实现高效、灵活的企业级应用开发。这里提到的"ssh整合所需所有架包"是一个包含这三个框架相应版本的集合,确保它们...
在SSH整合中,Spring主要负责管理Struts2中的Action以及Hibernate的数据访问对象(DAO),通过配置文件实现对象的生命周期管理。 Hibernate是一个强大的ORM(对象关系映射)框架,它允许开发者用Java对象直接操作...
SSH整合是Java Web开发中的一种常见模式,它结合了Struts2、Spring和Hibernate三个开源框架,以实现高效、灵活的MVC(Model-View-Controller)架构。在这个"ssh整合jar包"中,包含了这三个框架的核心库和其他必要的...
SSH框架整合是软件开发中的一种常见技术,主要指的是Spring、Struts2和Hibernate这三大开源框架的集成。这个例子提供了SSH框架整合的具体实现,对于初学者来说,是理解和掌握这一技术的重要参考资料。 Spring是一个...
在SSH整合中,Spring主要负责管理各个组件的生命周期,包括Struts2的Action、Hibernate的SessionFactory等。Spring还提供了事务管理,确保了业务操作的一致性。 **Hibernate** 是一个对象关系映射(ORM)框架,简化...