`
周禄康
  • 浏览: 161628 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

Struts1.2+Spring2.5+Hibernate3.2框架搭建(四)

    博客分类:
  • ssh
阅读更多

3.2. 配置 web.xml 文件

     web.xml文件中配置监听器以及web应用的初始化参数

    <!-- 向监听器类中传递初始化参数,以获取beanFactory对象 -->

    <context-param>

       <param-name>contextConfigLocation</param-name>

       <param-value>classpath:applicationContext.xml</param-value>

    </context-param>

    <!--

       使用监听器初始化SpringbeanFactory,并将其放入到Context中,在使用时将其取出,以获取IOC容器中的bean

    -->

    <listener>

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

    </listener>

web.xml文件中配置Spring中的过滤器解决中文乱码问题

    <!-- 使用Spring中的过滤器解决中文乱码问题 -->

    <filter>

       <filter-name>characterEncodingFilter</filter-name>

       <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

       <init-param>

           <param-name>encoding</param-name>

           <param-value>UTF-8</param-value>

       </init-param>

       <init-param>

           <param-name>forceEncoding</param-name>

           <param-value>true </param-value>

       </init-param>

</filter>

    <filter-mapping>

       <filter-name>characterEncodingFilter</filter-name>

       <url-pattern>/*</url-pattern>

</filter-mapping>

web.xml文件中配置Spring中的过滤器解决hibernate延迟加载的问题

    <!-- 解决hibernate延迟加载带来的异常,配置过滤器使Session在请求完成之后再关闭 -->

    <filter>

       <filter-name>OpenSessionInViewFilter</filter-name>

       <filter-class>

           com.zlk.util.OpenSessionInViewFilter</filter-class>

       <init-param>

           <param-name>singleSession</param-name>

           <param-value>true</param-value>

       </init-param>

</filter>

    <filter-mapping>

       <filter-name>OpenSessionInViewFilter</filter-name>

       <url-pattern>/*</url-pattern>

</filter-mapping>

注:我重写了org.springframework.orm.hibernate3.support.OpenSessionInViewFilter

下面是我重写的类:

com.zlk.override.OpenSessionInViewFilter

package com.zlk.override;

 

import org.hibernate.FlushMode;

import org.hibernate.Session;

import org.hibernate.SessionFactory;

import org.springframework.dao.DataAccessResourceFailureException;

import org.springframework.orm.hibernate3.SessionFactoryUtils;

 

public class OpenSessionInViewFilter extends

       org.springframework.orm.hibernate3.support.OpenSessionInViewFilter {

 

    protected void closeSession(Session session, SessionFactory sessionFactory) {

       // TODO Auto-generated method stub

        session.flush();

       super.closeSession(session, sessionFactory);

    }

 

    protected Session getSession(SessionFactory sessionFactory)

           throws DataAccessResourceFailureException {

       // TODO Auto-generated method stub

        Session session = SessionFactoryUtils.getSession(sessionFactory, true); 

        this.setFlushMode(FlushMode.COMMIT);

        return session;   

    }

 

}

com.zlk.util.OpenSessionInViewFilter

package com.zlk.util;

 

public class OpenSessionInViewFilter extends

       com.zlk.override.OpenSessionInViewFilter {

 

}

 

分享到:
评论
4 楼 zdzyh1989 2011-04-19  
其实spring是放在web.xml中启动的,
这个问题时期找到原因了,因为分层不彻底,所以service层和action并没有分开,调用的时候就没有正确的处理opensessionview
http://www.iteye.com/topic/15057
3 楼 周禄康 2010-07-02  
zdzyh1989 写道
在struts中加
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
    <set-property value="/WEB-INF/action-servlet.xml" property="contextConfigLocation"/>
    </plug-in>
这个了吗,为什么加了之后OpenSessionInViewFilter不管用了呢,

这是因为他俩的启动顺序的问题,你必须让spring先启动才行。
OpenSessionInViewFilter 是在web.xml中的,而你的spring是加载在Struts的配置文件中的 ,这样你的spring还没启动起来呢,就用她的过滤器,你想想可能么。所以你得该一下spring的启动方式,把他放在web。xml中,让他先启动。这样就可以用他的过滤器了。
2 楼 zdzyh1989 2010-06-04  
在struts中加
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
    <set-property value="/WEB-INF/action-servlet.xml" property="contextConfigLocation"/>
    </plug-in>
这个了吗,为什么加了之后OpenSessionInViewFilter不管用了呢,
1 楼 zdzyh1989 2010-06-04  
来看看,

相关推荐

    Struts1.2+Spring2.5+Hibernate3.2框架搭建(一)

    文档"Struts1.2+Spring2.5+Hibernate3.2框架搭建(周禄康).doc"和"Struts1.2+Spring2.5+Hibernate3.2框架搭建(原版)(周禄康).doc"可能包含了详细的步骤和示例代码,帮助读者理解如何实际操作。"Struts+...

    Java SSH框架整合搭建Web系统(Struts1.2+Spring2.5+Hibernate3.2)

    ### Java SSH框架整合搭建Web系统(Struts1.2+Spring2.5+Hibernate3.2) #### 一、准备工作 在开始构建基于Struts1.2+Spring2.5+Hibernate3.2的Web应用之前,需要进行一系列的基础设置工作。 **1.1 创建工程** ...

    Struts1.2+hibernate3.2+spring2.5ssh集成详细过程

    本文将以“添加用户”为例,详细介绍如何集成Struts1.2、Hibernate3.2和Spring2.5,帮助读者快速掌握SSH框架的集成技巧。 #### 二、环境搭建与配置 ##### 1. 添加Struts1.2支持 确保项目中已经引入Struts1.2的相关...

    搭建Struts1.2+Spring2.5+Hibernate3.2框架(Hibernate集成包)

    Struts1.2、Spring2.5和Hibernate3.2是经典的Java企业级开发框架组合,通常被称为SSH框架。这个组合在过去的很多项目中被广泛使用,为开发人员提供了强大的模型-视图-控制器(MVC)架构支持,以及灵活的数据持久化...

    ssh框架整合步骤讲解

    本文旨在详细介绍如何在MyEclipse 6.5环境下搭建Struts 1.2 + Spring 2.5 + Hibernate 3.2的整合开发环境,并通过具体步骤帮助读者理解和实现这一过程。 #### 二、环境准备 - **开发工具**:MyEclipse 6.5、Tomcat...

    ssh整合示例(附加截图示范)

    - 首先,搭建好开发环境,如MyEclipse 8.0 GA和Tomcat 6.0,准备好Struts1.2、Spring2.5和Hibernate3.2的版本。 - 在工程中创建相应的包结构,分别存放控制层、业务层、数据层和表单类。 - 按照上述步骤完成...

    myeclipse6 整合struts spring hibernate

    根据提供的文档内容,本文将详细解析如何在MyEclipse...通过以上步骤,可以成功在MyEclipse 8.5环境中整合Struts、Spring和Hibernate框架,搭建起一个基础的SSH开发平台。这为后续开发复杂的应用程序奠定了坚实的基础。

    ssh框架整合搭建[整理].pdf

    - **版本兼容性**:确保所选框架版本之间的兼容性,如Struts1.2、Spring2.5和Hibernate3.2。 - **异常处理**:合理处理可能出现的异常,提高应用的健壮性。 - **性能优化**:考虑缓存、连接池等技术,提升应用性能。...

    bbs论坛框架开发

    本项目是基于经典的Java技术栈Struts1.2、Hibernate3.2和Spring2.5进行开发的。这三大框架在Java Web开发中有着广泛的应用,构建了企业级应用的基础架构。 1. Struts1.2:Struts是Apache组织提供的一个开源MVC...

    javaSSH--的运行环境搭建实用.pdf

    Java SSH(Struts + Spring + Hibernate)是一种常见的企业级应用开发框架组合,用于构建基于Java的Web应用程序。本文将详细讲解如何在MyEclipse 7.0环境下搭建这个环境。 首先,我们需要准备以下组件的特定版本: ...

    javaSSH--的运行环境搭建借鉴.pdf

    SSH(Struts + Spring + Hibernate)是Java Web开发中的一个经典组合,用于构建企业级应用。在本文中,我们将详细探讨如何在MyEclipse 7.0环境下搭建这个环境。 首先,我们需要准备以下组件: 1. Spring框架:版本...

    spring hibernate struts

    在Java Web开发领域,Spring、Hibernate和Struts三个框架被广泛应用于构建轻量级的企业级应用程序。这三个框架各自拥有独特的功能和优势,并能够很好地集成在一起,形成一个高效、灵活的开发平台。 ##### 1.1 UI层...

    用spring、Hibernate、Struts组建轻量级架构

    通过上述分析,我们可以看到Spring、Hibernate和Struts这三个技术框架各自的优势以及它们之间的互补性。结合使用这些框架,可以构建出既强大又灵活的企业级应用程序。在实际开发过程中,开发者可以根据项目需求灵活...

    epai--E拍项目+oracle数据库建库脚本

    hibernate3.2、spring2.x、struts1.2和dwr是四个关键的技术栈,它们在Java Web开发中扮演重要角色: 1. **Hibernate 3.2**:这是一个流行的Java对象关系映射(ORM)框架,它允许开发者用面向对象的方式处理数据库...

    搭建SSH框架步骤.doc

    SSH框架是Spring、Struts和Hibernate三种技术的组合,常用于企业级应用开发。本文档详细介绍了如何从零开始搭建一个完整的SSH框架环境,包括数据库搭建、Web工程创建、框架集成、数据配置以及XML文件配置等关键步骤...

    javaSSH--的运行环境搭建分享.pdf

    Java SSH(Spring、Struts、Hibernate)是一种常见的企业级应用开发框架组合,用于构建基于Java的后端系统。在这个环境中,Spring作为核心容器,负责管理对象依赖;Struts作为MVC框架,处理用户请求和业务逻辑的交互...

    SSH框架整合

    SSH框架整合是指将Spring、Struts2与Hibernate这三种技术框架结合在一起,构建出一个高效且可扩展性强的企业级应用系统。本篇文档将详细介绍如何进行SSH框架整合的具体步骤,帮助开发者更好地理解和掌握这一过程。 ...

    传智播客 Spring 完全文档 笔记总结

    - **环境搭建**:安装并配置好必要的开发工具和框架,如 Java、Spring、Hibernate 等。 - **项目结构**:根据需求设计项目的目录结构和包名等。 ##### 3.2 Hibernate 与 Spring 整合 - **整合步骤**:配置 ...

Global site tag (gtag.js) - Google Analytics