`

struts+spring+hibernate集成

    博客分类:
  • SSH
阅读更多
struts+spring+hibernate集成
1、在Eclipse中新建一个符合J2EE的Web项目,将struts,jstl,spring,hibernate,mysql-jdbc驱动等相关的类库copy到lib目录下。
2,将struts-config.xml文件copy到WEB-INF下,修改web.xml文件,加入如下代码,来配置struts的ActionServlet。
  <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>
    <init-param>
      <param-name>debug</param-name>
      <param-value>2</param-value>
    </init-param>
    <init-param>
      <param-name>detail</param-name>
      <param-value>2</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
  </servlet>


  <!-- Standard Action Servlet Mapping -->
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
3、将spring的配置文件(applicationContext.xml)copy到src目录下,这里复制三个,分别命名:
    spring-beans.xml   用来管理业务逻辑类,如dao等。
    spring-actions.xml 用来管理struts的Action,
    spring-common.xml  用来管理hibernate的SessionFactory和事务
copy完这三个文件,然后再修改web.xml文件,加入以下代码:
  
    <context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath*:spring-*.xml</param-value>
  </context-param>
  
   <listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
   </listener>
  
  <filter>
    <filter-name>Spring character encoding filter</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>Spring character encoding filter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
 
  <filter>
    <filter-name>hibernateFilter</filter-name>
    <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
  </filter>
<filter-mapping>
    <filter-name>hibernateFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
4、将hibernate.cfg.xml文件copy到src目录下,配置好sessionFactory,如下例:
    <hibernate-configuration>
<session-factory>
<property name="hibernate.connection.url">jdbc:mysql://localhost/spring_struts_hibernate</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.hbm2ddl.auto">update</property>
</session-factory>
</hibernate-configuration>
5、修改spring-common.xml文件,让spring来管理hibernate的sessionfactory和事务
     <!-- 配置sessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation">
<value>classpath:hibernate.cfg.xml</value>
</property>
</bean>          

<!-- 配置事务管理器 -->
<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="del*" propagation="REQUIRED"/>
<tx:method name="modify*" propagation="REQUIRED"/>
<tx:method name="*" read-only="true"/>
</tx:attributes>
</tx:advice>

<!-- 那些类的哪些方法参与事务 -->
<aop:config>
<aop:pointcut id="allManagerMethod" expression="execution(* xxx.xxx.*.*(..))"/>
<aop:advisor pointcut-ref="allManagerMethod" advice-ref="txAdvice"/>
</aop:config>
6、在struts-config.xml文件中配置action的时候:
   <action>标签中的type属性需要修改为org.springframework.web.struts.DelegatingActionProxy
    DelegatingActionProxy是一个Action,主要作用是取得BeanFactory,然后根据<action>中的path属性值 到IoC容器中取得本次请求对应的Action

7,在spring-actions.xml配置文件中需要定义struts的Action,如:
    <bean name="/login" class="com.lwsoft.action.LoginAction" scope="prototype"/>
* 必须使用name属性,name属性值必须和struts-config.xml文件中<action>标签的path属性值一致
* 必须注入业务逻辑对象
* 建议将scope设置为prototype,这样就避免了struts Action的线程安全问题   
3
0
分享到:
评论

相关推荐

    struts+spring+hibernate集成说明(英文原版)

    **Struts+Spring+Hibernate集成**: 集成这三个框架,可以实现高效的MVC架构。Spring作为整个应用的中心,管理Struts的Action和Hibernate的SessionFactory。通过Spring的AOP,可以在执行Action之前和之后进行事务...

    struts1.2 + spring2.5 + hibernate3.2框架demo

    总结来说,这个demo项目提供了一个学习和实践Struts1.2、Spring2.5和Hibernate3.2集成的平台,涵盖了MVC设计模式、依赖注入、面向切面编程和对象关系映射等多个关键概念。通过深入研究和修改这个项目,开发者能够...

    Struts+spring+hibernate 集成实现的经典权限管理系统源代码

    Struts、Spring 和 Hibernate 是Java Web开发中的三大框架,它们的集成使用可以帮助开发者构建高效、模块化且易于维护的企业级应用程序。在这个经典权限管理系统中,这三者协同工作,为系统提供了模型-视图-控制器...

    struts+spring+hibernate实现图书修改和删除

    此外,Spring还可以与Hibernate集成,实现数据访问层的事务管理。 **Hibernate** Hibernate是一个对象关系映射(ORM)框架,它简化了数据库操作,将Java对象和数据库记录进行映射,使得开发者可以使用面向对象的...

    struts2+spring2.5+hibernate3.2整合完整项目,带数据库脚本

    Struts2、Spring2.5和Hibernate3.2是Java Web开发中经典的三大框架,它们的整合使用在过去的许多年里被广泛应用于企业级应用系统。这个完整的项目提供了从开发环境到运行环境的所有必要组件,包括数据库脚本,使得...

    Struts+Spring+Hibernate+WebService集成架构

    **Struts+Spring+Hibernate集成** 这三大框架的集成主要是为了实现更高效、更灵活的企业级应用开发。Struts负责控制流程,Spring提供依赖注入和事务管理,Hibernate则处理数据持久化。Spring可以管理Struts的Action...

    ssh(struts+spring+hibernate)教务管理信息系统(全部代码) 可以直接运行

    SSH(Struts+Spring+Hibernate)是一个经典的Java Web开发框架,用于构建高效、可扩展的企业级应用程序。这个教务管理信息系统是基于SSH框架实现的,提供了完整的源代码,可以直接运行,便于开发者学习和参考。 **...

    最新项目系统:Struts2+Spring4+Hibernate4三大框架整合

    Struts2、Spring4和Hibernate4是Java Web开发中的三大主流框架,它们分别负责MVC模式中的表现层、业务层和服务层。这个最新的项目系统整合了这三个框架,旨在提供一个高效、灵活且易于维护的开发环境。下面将详细...

    struts+spring+hibernate(mysql)用户登录及文件上传

    总结来说,这个项目展示了如何集成Struts、Spring和Hibernate来构建一个具备用户登录验证和文件上传功能的Web应用。通过Struts处理HTTP请求,Spring管理对象和事务,以及Hibernate处理数据库操作,开发者可以更高效...

    struts+spring+hibernate基础整合包+数据库Mysql+C3p0

    SSH是 struts+spring+hibernate的一个集成框架,是目前比较流行的一种Web应用程序开源框架 现在的结构是,Struts负责显示层,Hibernate负责持久层,Spring负责中间的业务层,另外,由于Spring使用的依赖注射以及AOP...

    struts2+spring4+hibernate

    Struts2、Spring4和Hibernate是Java开发中的三大框架,它们在构建企业级Web应用程序时起着核心作用。本教程将深入探讨这三个框架如何协同工作,以实现高效、灵活和可扩展的电子商务平台。 首先,Struts2是一个基于...

    SSH集成 Struts+spring+hibernate集成

    SSH集成是Java开发Web应用程序时常用的一种框架整合方式,它结合了Struts、Spring和Hibernate三个开源框架的优势,提供了一种高效、灵活且易于管理的解决方案。以下将详细阐述这三个框架以及它们集成后的主要特点和...

    Struts2+Spring+Hibernate和Struts2+Spring+Ibatis

    Struts2+Spring+Hibernate和Struts2+Spring+Ibatis是两种常见的Java Web应用程序集成框架,它们分别基于ORM框架Hibernate和轻量级数据访问框架Ibatis。这两种框架结合Spring,旨在提供一个强大的、可扩展的、易于...

    struts+spring+hibernate三大框架整合

    SSH三大框架,即Struts、Spring和Hibernate,是Java Web开发中的常用技术组合,它们各自负责不同的职责:Struts作为MVC模式中的Controller层,处理用户请求并转发到相应的业务逻辑;Spring则作为核心容器,负责依赖...

    struts+spring+hibernate

    Struts、Spring 和 Hibernate 是Java Web开发中的三大框架,它们共同构建了一个强大的后端架构解决方案。这个"struts+spring+hibernate"示例工程是用于演示这三大框架如何协同工作,为开发者提供了一个实战性的学习...

    超市管理信息系统(SSH struts+spring+hibernate)

    【标题】"超市管理信息系统(SSH struts+spring+hibernate)"是一个综合性的IT项目,它基于流行的Java企业级开发框架SSH(Struts、Spring、Hibernate)来构建。SSH框架是许多大型企业级应用的首选,因为它提供了一个...

    Myeclipse8.5下搭建SSH框架(图解)Struts2.1+Spring3.0+Hibernate3.3

    5. **配置Hibernate与Spring集成**:选择让Spring configuration file统一管理Hibernate的配置。 6. **指定SessionFactory配置**:选择继承自Spring配置文件(如WebRoot/WEB-INF/applicationContext.xml),...

    struts+spring+hibernate人力资源管理系统

    《Struts+Spring+Hibernate构建的人力资源管理系统详解》 在IT行业中,开发高效、功能齐全的管理系统是一项挑战,尤其对于初学者来说。"Struts+Spring+Hibernate人力资源管理系统"是一个理想的学习实例,它整合了三...

Global site tag (gtag.js) - Google Analytics