`

struts2.0.14+hibernate3.2+spring2.5.6+tomcat6.0+mysql5.0整合全过程

    博客分类:
  • Java
阅读更多

这里为什么使用struts2.0.14这个版本呢??请看官网的文章如下:

24 November 2008 - Struts 2.0.14 General Availability Release

The latest release of Struts 2 is Struts 2.0.14, which was promoted to "General Availability" on 24 November 2008.

For changes included in Struts 2.0.14, see the release notes. Struts 2.0.14 is a bugfix release for version 2.0.12, which provided important security fixes. Struts 2.0.14 addresses two major bugs introduced with these security fixes, keeping the FilterDispatcher from serving built in static resources, and keeping conversion error messages from being displayed. All developers are strongly encouraged to update existing Struts 2 applications to Struts 2.0.14.

如果你的英语不差的话,自己去看下吧.这段英语的大概意思是,Struts 2.0.14修正了Struts 2.0.12 的两个主要的bug ;并且建议开发者更新到Struts 2.0.14
这个版本.Struts 2.0.14 General Availability Release 这是个通用的开发版本.
其实我在整合这个S2SH时,struts2 的最新版本是struts2.1.16 这个也是稳家版本,不过最新的版本网上资料很少.所以...........! 如果自己学的话可以选择这个两个版本.
下边是整合的全过程:
主要是jar包的引入,我个人比较不喜欢用IDE 工具自动引入jar包,所以下边是自己用的jar的引入,这样可以省去相关jar 的冲突;

1:首先struts2.0.14所需要的jar包如下:
commons-logging-1.0.4  ;
freemarker-2.3.8
 ognl-2.6.11
struts2-core-2.0.14
xwork-2.0.7
struts2-spring-plugin-2.0.14  这是整合spring 必需的jar 包,从它的名字就可以看出来了!   

2:hiberante3.2 jar 包如下 这是我的工程必需的,如果你的工程要用到其它的jar包可以去看一看hibernate 的必读文件那里有很详细的解释;
            这个是做一般的工程,引入最少的jar 了,一般的项目都可以了!

antlr-2.7.6         cglib-2.1.3     commons-collections-2.1.1    commons-logging-1.0.4      dom4j-1.6.1  
ehcache-1.2.3    hibernate3     jaas        jaxen-1.1-beta-7     jdbc2_0-stdext     jta    log4j-1.2.11  
xml-apis             asm             asm-attrs 

如果你自己不做整合的,就是单独做hibernate 学习,本人建议你把所有jar 都导入项目的lib目录下!这里不在做任何解释了!

3:  spring 2.5.6  相关的jar 也是做项目最少引入的jar包了,如果自己还需要特定的自己去引入;

    aspectjrt    aspectjweaver   ( 这两个是AOP 相关的jar包,因为spring  2.5的AOP实现,没有自己去做,也用到了第三方组件,分开了,这好像和2.0版本有出入!有关细节,请自己去查阅相关文档)
    spring

好的,这三个框架所有jar 包,都介绍完了,(不要奇怪我的所有jar 包没有后缀名,是我自己给隐藏了)

好的进入主题了(顺序最好 hibernate --->spring---->struts)

1:把相关的hibernate  jar 包导入项目lib 目录下!
2: 把spring  相关jar   包导入项目lib 目录下!
3: 把struts2相关jar   包导入项目lib 目录下!

三者整合:
web.xml文件如下里边都有解释自己看吧:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

 <!-- 配置spring监听器和上下文变量 -->
 <context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>/WEB-INF/applicationContext-*.xml</param-value>
 </context-param>

 <listener>
  <listener-class>
   org.springframework.web.context.ContextLoaderListener
  </listener-class>
 </listener>
 <!-- spring end -->

<!-- 配置字符过滤器-->
 <filter>
  <filter-name>encodingFilter</filter-name>
  <filter-class>
   org.springframework.web.filter.CharacterEncodingFilter
  </filter-class>
  <init-param>
   <param-name>encoding</param-name>
   <param-value>GBK</param-value>
  </init-param>
 </filter>
 <filter-mapping>
  <filter-name>encodingFilter</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>

 <!--让spring来过滤管理Hiberante中的session-->
 <filter>
  <filter-name>lazyLoadingFilter</filter-name>
  <filter-class>
   org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
  </filter-class>
 </filter>

 <!-- spring end -->

 <!-- 增加struts2所需要的过滤器,以便在服务器启动时,拦截URL请求 -->
 <filter>
  <filter-name>struts2</filter-name>
  <filter-class>
   org.apache.struts2.dispatcher.FilterDispatcher
  </filter-class>
 </filter>

 <filter-mapping>
  <filter-name>lazyLoadingFilter</filter-name>
  <url-pattern>*.action</url-pattern>
 </filter-mapping>


 <filter-mapping>
  <filter-name>struts2</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>
  </web-app>


applicationContext-common.xml 文件:其中我使用了,DBCP数据库连接波,如果你自己想用,
                           还的去下载相关的jar 包( commons-dbcp-1.2.2   commons-pool-1.3)记着引入哦!

我下边注释掉的就是没有用数据库连接池的,也就是不把src目录下的hibernate.cfg.xml删除.上边用到的数据库连接池的,就不用这个文件了,直接都用spring来管理啦!!!!

<?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.0.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
 <!-- 用DBCP数据库连接波来配置hibernate数据库连接 -->
 
  <bean id="dataSource"
  class="org.apache.commons.dbcp.BasicDataSource">
  <property name="driverClassName"
  value="com.mysql.jdbc.Driver">
  </property>
  <property name="url" value="jdbc:mysql://localhost/oa"></property>
  <property name="username" value="root"></property>
  <property name="password" value="root"></property>
  </bean>
 
 <!-- 配置sessionFactory -->
  
  <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  <property name="dataSource">
  <ref bean="dataSource" />
  </property>
  <property name="hibernateProperties">
  <props>
  <prop key="hibernate.dialect">
  org.hibernate.dialect.MySQLDialect
  </prop>
  <prop key="hibernate.show_sql">true</prop>
  <prop key="format_sql">true</prop>
  <prop key="hibernate.hbm2ddl.auto">update</prop>
  </props>
  </property>
  <property name="mappingResources">
  <list>
  <value>com/oa/model/Person.hbm.xml</value>
  <value>com/oa/model/Organization.hbm.xml</value>
  </list>
  </property>
  </bean>
  
<!-- 让spring管理sessionFactory的加一种方法 ,就是不删除hibernate.cfg.xml文件;
 <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  <property name="configLocation">
   <value>classpath:hibernate.cfg.xml</value>
  </property>
 </bean>
--> 
  
 <!-- 配置hibernate事物让spring来管理 -->
 <bean id="transactionManager"
  class="org.springframework.orm.hibernate3.HibernateTransactionManager">
  <property name="sessionFactory">
   <ref bean="sessionFactory" />
  </property>
 </bean>


 <!-- 配置事物的传播特性 -->
 <tx:advice id="txAdvice" transaction-manager="transactionManager">
  <tx:attributes>
   <tx:method name="add*" propagation="REQUIRED" />
   <tx:method name="delete*" propagation="REQUIRED" />
   <tx:method name="update*" propagation="REQUIRED" />
   <tx:method name="*" read-only="true" />
  </tx:attributes>
 </tx:advice>
 <!-- 那些类的那些方法需要事物; -->
 <aop:config>
  <aop:pointcut id="allManagerMethod"
   expression="execution(* com.oa.manager.*.*(..))" />
  <aop:advisor pointcut-ref="allManagerMethod"
   advice-ref="txAdvice" />
 </aop:config>
</beans>

对了还需要注意的一个地方就是如果用了,我这种数据库连接池技术,得把你的数据库驱动类,复制tomcat lib 目录下.不然会报错的!

好了三个东西整合好,我也是费了九牛二虎之力才整合成功的.

分享到:
评论

相关推荐

    Struts2.0.14+Spring2.5.6+Struts.1.3.8+Hibernate3.2

    Struts2.0.14、Spring2.5.6、Struts1.3.8以及Hibernate3.2是四个非常关键的Java Web开发框架,它们在2000年代末到2010年代初广泛应用于企业级应用中。这个压缩包文件包含了这些框架的核心组件,对于学习和理解SSH...

    Struts2.0.14+Spring2+Hibernate3 无冲突JAR包

    总结来说,"Struts2.0.14+Spring2+Hibernate3 无冲突JAR包"为Java Web开发提供了一个便捷的起点,集成了三个核心框架的稳定版本,减少了开发者的前期配置工作,使得他们能更高效地构建和维护复杂的企业级应用。

    struts2+hibernate3.3+spring3.0配置

    - **Spring与Struts2整合**:确保添加了struts2-spring-plugin-2.0.14.jar这个插件包,以便于Spring管理Struts2的Action。 #### 四、常见问题及解决方案 **1. MyEclipse错误处理** - **An internal error ...

    s2sh整合配置步骤及其xml文件配置(图示)

    Struts2.0.14+Spring2.5+Hibernate3.2+Oracle10g+Tomcat6.0开发环境配置,有步骤图示 +web.xml+applicationContext.xml文件配置 还算齐全。。。

    struts2+spring+hibernate整合

    SSH整合,即Struts2、Spring和Hibernate三个开源框架的集成,是Java Web开发中常见的技术栈。这种整合能够提供强大的MVC(Model-View-Controller)架构支持、灵活的依赖注入以及高效的持久化管理,使得开发过程更加...

    s2sh整合实例 Struts2.0 Spring2.6 Hibernate3.2

    ### S2SH整合实例:Struts2.0、Spring2.6、Hibernate3.2 在本篇文章中,我们将深入探讨如何将Struts2.0、Spring2.6与Hibernate3.2进行整合,构建一个典型的三层架构应用系统。本文旨在为初学者提供一个完整的示例,...

    struts2.0.14官方jar包

    Struts2.0.14官方jar包是Java Web开发中的一个重要组件,它是一个基于MVC(Model-View-Controller)设计模式的开源框架。Struts2为开发者提供了构建动态、数据驱动的Web应用程序的强大工具。这个特定版本的发布旨在...

    struts2 spring hibernate整合要点、注意点

    本文将详细介绍如何在MyEclipse 7.0环境下,基于Java EE 1.4标准和Tomcat 6.0.18服务器,实现Struts2 2.0.14版本、Spring 2.5系列以及Hibernate 3.2系列的整合,并探讨具体的配置方法。 #### 二、配置文件详解 **1...

    Maven搭建的Struts2 Hibernate Spring实例

    自己花好几天写的真正有效可运行的Maven2搭建的SSH2登录实例。 Struts2.0.14;Hibernate3.2.6.ga;Spring2.5.6;Maven2.0.11 任何问题,请联系luguangjin@msn.com

    Struts2.0.14

    struts2.0.14 是根据 Struts2.0.14的官方文档生成

    struts2.0.14_apps

    Struts2.0.14_APPS 是一个包含多个示例应用程序的压缩包,主要用于演示Apache Struts 2.0.14版本的功能和用法。Struts 2 是一个流行的Java Web开发框架,用于构建MVC(Model-View-Controller)架构的应用程序,它...

    struts2.0.14-src 源代码(part1)

    struts2.0.14-src struts2.0.14 源代码

    struts2.0.14.chm

    这个是我利用struts2.0.14的官方源代码和相关工具生成的chm文件,希望能给需要的人带来福音。

    struts2.0.14

    7. **插件体系**:Struts2有一个强大的插件系统,可以轻松地集成其他框架和库,如Spring、Hibernate等。 在“复件 struts-2.0.14”这个压缩包中,可能包含以下内容: - **源代码**:Action类、拦截器、配置文件等。...

    [Struts2.0.14.API].Struts2.0.14.API

    Struts2.0.14.API 是一个针对Java开发者的重要参考资料,主要涵盖了Struts2框架的版本0.14的核心API。Struts2是Apache软件基金会下的一个开源项目,它是一个用于构建MVC(Model-View-Controller)架构的Java Web应用...

    struts2.0.14与spring

    Struts2.0.14 和 Spring 是两个著名的开源框架,它们在Java Web开发中扮演着重要的角色。Struts2 是一个基于 MVC(Model-View-Controller)模式的Web应用程序框架,而Spring则是一个全面的Java企业级应用框架,提供...

    helloWorld-struts2.0.14.rar

    本教程“helloWorld-struts2.0.14.rar”旨在为初学者提供一个清晰易懂的入门起点,通过一个简单的实例帮助理解Struts2的核心概念和配置。 首先,Struts2.0.14是该框架的一个早期版本,它在当时的Java社区中广泛使用...

    Struts2+Spring3+HibernateBBS源码lib2.rar

    Struts2+Spring3+HibernateBBS源码lib2.rar是一个经典的Java Web开发示例,它结合了三个流行的技术框架:Struts2、Spring3和Hibernate,用于构建一个基于论坛的Web应用程序。这个压缩包包含了运行该应用所需的核心库...

    struts2-2.0.14

    Struts2与Spring的整合使得开发者可以利用Spring的依赖注入(DI)和面向切面编程(AOP)能力,方便地管理Action类和其他业务组件的生命周期。通过这个插件,Struts2可以识别并直接注入由Spring管理的bean,无需手动...

    struts1.3.10 和 struts2.0.14 包

    这个压缩包包含了Struts 1.3.10和Struts 2.0.14两个版本,它们分别代表了Struts框架的发展历程中的重要里程碑。 **Struts 1.3.10** Struts 1是第一个被广泛接受的Java Web框架之一,它极大地简化了开发过程,使得...

Global site tag (gtag.js) - Google Analytics