`
timesongjie
  • 浏览: 16485 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

Struts2+Hibernate+Spring 整合(支持struts、applicationContext多配置文件)

    博客分类:
  • ssh
阅读更多
一、导包
struts2 需要用到的包:
   commons-fileupload.jar、commons-io.jar、commons-logging.jar、freemarker.jar、ognl.jar、struts2-core.jar、xwork-core.jar
二、项目引入spring 功能、hibernate 功能
三、改写配置文件
   a. web.xml
   由于spring采用注入式管理对象方式,我们也必须将struts2中自己编写的action交给spring管理。而spring通过解析applicationContext.xml文件控制反转实例化所有的bean。所以为了能够在应用初始化时对applicationContext.xml进行解析,修改web.xml配置文件,加入spring监听器。

<?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/classes/applicationContext.xml</param-value>
</context-param>
<!-- 开启监听 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- 配置OpenSessionInViewFilter,必须在struts2监听之前 -->
<filter>
<filter-name>lazyLoadingFilter</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>lazyLoadingFilter</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<!-- 设置监听加载上下文 -->
<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>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
   b.struts.xml
   <?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.objectFactory" value="spring" />
<include file="/com/time/ssh/action/struts.xml"></include>
</struts>

   struts.xml配置需要注意几点:1.文件存放位置 必须是src目录下 2.加入<constant name="struts.objectFactory" value="spring"/> 表示实例化对象交给spring管理 3.多配置文件:开发过程中struts配置文件是经常改动的,为了便于团队开发,有时候我们必须对不同的模块建立不同的struts配置文件。struts2中多配置文件使用非常简单使用<include file="子配置文件路径"></include>
    下面看个具体的struts.xml配置文件:
<?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>
<package name="cs" namespace="/test" extends="struts-default">
<action name="login" class="login">
    <result name="success">/success.jsp</result>
             <result name="false">/fail.jsp</result>
</action>
</package>
</struts>
   这里需要注意的是 由于现在action实例是交给spring管理 所以在<action name="login" class="login"/> 这里不能再给该类路径了 应该是给 在applicationContext.xml中对应配置的bean的id ,为了便于理解在这里将spring配置文件中的代码也一起贴出来:
<bean id="login" class="com.time.ssh.action.Login">

   c applicationContext.xml
   关于applicationContext.xml配置问题不是很大 因为就是一些简单的bean配置 只是要注意其中的一些引用,下面介绍一下关于spring多配置文件的写法:spring多配置文件写法大致有两种:一种是在 web.xml配置中 使用
<context-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>
      /WEB-INF/classes/context1.xml,
       /WEB-INF/classes/context2.xml,
       /WEB-INF/classes/context3.xml   
    </param-value>
</context-param>
利用上下文参数,其中分隔符可以是",",也可以是" "等 ,也可以用通配符application-*,这样配置的要求是,你的Spring配置文件必须是applicationContext-*****.xml这样的形式存在,*号代表通配符,具体就不说了。
     第二种方法是在一个application.xml中配置其他多个使用:
     <import resource="其它文件路径"/>

这样就可以实现多个struts和spring配置文件的SSH整合了!

    
分享到:
评论

相关推荐

    10.6struts2+hibernate+spring的整合源代码

    在"10.6struts2+hibernate+spring的整合源代码"中,可能会看到Hibernate的实体类(Entity)、映射文件(.hbm.xml)以及SessionFactory的配置。这些文件用于定义模型对象与数据库表之间的关系,并提供CRUD(创建、...

    struts2+hibernate+spring经典整合实例教程

    ### Struts2+Hibernate+Spring 经典整合实例教程 #### 概述 本文档将详细介绍如何使用 MyEclipse 7.0 开发环境搭建基于 Struts2、Hibernate 和 Spring 的经典整合项目,并通过示例工程 BookShop 来具体演示整个...

    struts2+hibernate+spring整合的管理系统

    Struts2、Hibernate和Spring是Java开发中三大主流框架,它们的整合应用在企业级Web应用开发中极为常见。这个管理系统就是基于这三个框架的集成,提供了高效、灵活且可维护的解决方案。 Struts2作为MVC(Model-View-...

    Struts2.1.6+Hibernate3.3.1+Spring2.5.6整合jar包

    2. 配置Spring:创建ApplicationContext配置文件,定义bean及它们的依赖关系,包括数据源、SessionFactory、事务管理器等。 3. 配置Struts2:在struts.xml文件中配置Struts2的动作映射,指定Action类,同时配置...

    Struts2+Hibernate+Spring整合开发深入剖析与范例应用06

    4. **整合流程**:整合Struts2、Hibernate和Spring,首先需要在项目中引入相关库,然后配置Spring的ApplicationContext,定义Bean以及它们之间的依赖关系。接着,配置Struts2的struts.xml文件,声明Action类,并设置...

    struts2 + hibernate3 + spring3 ssh 用户的增删改查

    Struts2、Hibernate3和Spring3是Java Web开发中的三个核心框架,它们组合在一起被称为SSH(Struts2、Spring、Hibernate)集成框架。这个框架体系为开发者提供了强大的模型-视图-控制器(MVC)架构支持,数据持久化...

    Struts2+Hibernate+Spring整合教程

    Struts2、Hibernate和Spring是Java Web开发中的三大框架,它们各自负责不同的职责:Struts2专注于MVC(Model-View-Controller)架构的实现,提供强大的动作控制和页面展示;Hibernate作为对象关系映射(ORM)工具,...

    Struts2+Hibernate+Spring基于单表的增删改查code

    Struts2、Hibernate和Spring是Java Web开发中的三大框架,它们的组合,通常被称为SSH(Struts2+Spring+Hibernate)或SSH2。这个“Struts2+Hibernate+Spring基于单表的增删改查code”项目是一个典型的Java Web应用...

    Struts2+Hibernate+Spring整合开发深入剖析与范例应用04

    1. 整合配置:包括Struts2的struts.xml,Spring的applicationContext.xml,以及Hibernate的hibernate.cfg.xml,这些配置文件协同工作,定义了框架的运行环境和组件关系。 2. 模型层:创建实体类,通过Hibernate的...

    struts+spring+hibernate三大框架整合

    Spring管理SessionFactory,通常在ApplicationContext.xml中配置,通过`&lt;bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"&gt;`指定数据源、映射文件、hibernate配置等。...

    JavaEE企业应用实战-Struts2+Spring3+Hibernate整合开发(第3版)

    **配置文件准备**:创建并配置Struts2的struts.xml文件、Spring的applicationContext.xml文件以及Hibernate的hibernate.cfg.xml文件。 2. **DAO层设计**:使用Hibernate进行数据访问操作,定义DAO接口及其实现类。...

    eclipse搭建(Struts2.5+Spring5.0+hibernate5.2)整合框架Demo实例

    本教程将详细介绍如何使用Eclipse IDE搭建一个基于Struts2.5、Spring5.0和Hibernate5.2的整合框架,提供一个可运行的Demo实例。这个组合是Java企业级开发中常见的技术栈,它们各自负责不同的职责:Struts2作为前端...

    Struts1+Spring2+Hibernate2整合详细例子

    3. **配置Spring2**:创建applicationContext.xml文件,定义Bean的配置,包括Service层的接口和实现,以及DAO层的实现。同时,配置数据源和Hibernate的SessionFactory。 4. **配置Hibernate2**:创建hibernate.cfg....

    ssh框架整合详细步骤(spring+struts2+hibernate)

    ### SSH框架整合详细步骤(spring+struts2+hibernate) #### 一、整合概述 在现代Web应用开发中,SSH(Struts2、Spring、Hibernate)框架因其各自独特的功能和优势,常被组合使用以构建高效、稳定且易于维护的系统...

    Struts2+Hibernate+Spring 整合示例

    它们各自负责应用程序的不同层面:Struts2处理MVC(Model-View-Controller)架构中的控制层,Hibernate专注于数据持久化,而Spring则提供了全面的依赖注入和事务管理,以及AOP(面向切面编程)支持。将这三个框架...

    Struts2.3.16.1+Hibernate3.6.10+Spring3.2.8整合

    Struts2.3.16.1+Hibernate3.6.10+Spring3.2.8整合 能够运行,没有任何问题 另外附带applicationContext.xml、struts.xml、hibernate.cfg.xml

    struts2+spring+hibernate 整合的jar包

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们的整合(SSH)极大地提升了开发效率和项目的可维护性。下面将详细讲解这三大框架的核心功能以及整合过程中的关键知识点。 1. **Struts2**:Struts2是一...

    Struts2+Spring+Hibernate集成开发环境的配置小例子

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们的组合被称为SSH2。SSH2框架集成可以实现MVC(Model-View-Controller)架构,提供强大的数据持久化、业务逻辑管理和用户界面控制能力。下面我们将详细...

    struts2+hibernate+spring整合

    它们各自负责Web应用的不同层面:Struts2专注于表现层管理,Hibernate处理数据持久化,而Spring则作为一个全面的框架,涵盖了依赖注入、事务管理、安全控制等多个方面。将这三个框架整合在一起,可以构建出高效、...

Global site tag (gtag.js) - Google Analytics