struts+spring+hibernate的集成
struts+spring+hibernate的集成
1、struts和spring的集成
* 将spring作为插件集成到struts中,到struts-config.xml中进行配置:
<!-- 配置插件,将spring集成到struts中 -->
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<!-- 指定spring配置文件的路径 -->
<set-property property="contextConfigLocation" value="classpath:applicationContext.xml" />
</plug-in>
* <action>的type指定成代理类
<action path="/user"
type="org.springframework.web.struts.DelegatingActionProxy"
name="userForm"
scope="request"
parameter="op">
<forward name="success" path="/success.jsp" />
</action>
* 到spring的配置文件中配置Action
<!-- action -->
<bean name="/user" class="com.westaccp.user.web.actions.UserAction">
<property name="userBiz" ref="userBiz" />
</bean>
2、spring和hibernate的集成
* 让spring管理SessionFactory
<!-- 配置SessionFactory -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation"
value="classpath:hibernate.cfg.xml">
</property>
</bean>
* 让spring管理Session
让dao类继承自HibernateDaoSupport类
public class UserDaoImpl extends HibernateDaoSupport implements IUserDao
* 让spring管理事务(声明式事务)
让spring的AOP将事务织入
<!-- 配置SessionFactory -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation"
value="classpath:hibernate.cfg.xml">
</property>
</bean>
<!-- 配置事务管理器 -->
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!-- 配置事务传播特性 -->
<tx:advice id="txAdvice">
<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="bizMethods" expression="execution(* com.westaccp.user.biz.impl.*.*(..))" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="bizMethods" />
</aop:config>
3、中文处理
spring提供了一个中文处理过滤器org.springframework.web.filter.CharacterEncodingFilter
配置过滤器,到web.xml中进行配置
<!-- 配置中文处理过滤器(由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>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
4、关于hibernate延迟加载的问题,用spring提供的OpenSessionInViewFilter
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
<!-- 指定spring配置文件的路径 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext.xml</param-value>
</context-param>
<!--
配置ContextLoaderListener
ContextLoaderListener作用:根据spring的配置文件,创建BeanFactory
-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- 配置OpenSessionInViewFilter -->
<filter>
<filter-name>OpenSessionInViewFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>OpenSessionInViewFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
5、注意:spring中action的配置问题
<bean name="/user" class="com.westaccp.user.web.actions.UserAction" scope="singleton | prototype">
singleton:多个线程访问的是同一个Action的实例
prototype:spring为每一个线程创建Action的一个实例,这样能够解决线程安全问题
默认情况下scope="singleton"
分享到:
相关推荐
【SSH集成环境配置详解】 SSH(Struts2、Spring、Hibernate)是Java开发中的一个经典组合,用于构建高效、可维护的企业级应用。本篇将详细介绍如何配置SSH集成环境,以便进行软件开发。 首先,SSH集成环境配置的...
SSH集成通常指的是将SSH功能与其他系统或工具整合,以实现更高效、更安全的远程管理和服务交互。在IT领域,SSH集成尤其常见于服务器管理、自动化任务执行、版本控制系统(如Git)以及持续集成/持续部署(CI/CD)流程...
而这个"ssh集成必须的包集合"压缩文件,可能是将这些依赖预先打包好的,开发者只需解压并引入到项目中,即可快速搭建SSH集成环境,减少了手动配置的时间。 总的来说,SSH集成提供了强大的后端开发能力,结合了...
为了进一步理解SSH集成的应用场景,本节将通过一个具体的例子——查询Oracle数据库中的雇员表信息,来演示如何在SSH集成环境下实现数据库操作。 1. **创建实体类**:根据雇员表结构设计相应的Java实体类。 2. **...
然而,这里的"ssh环境搭建需要的jar包2"可能是指与SSH协议相关的Java库,用于实现远程管理和自动化任务。 首先,我们来了解一下SSH协议的核心组件。OpenSSH是广泛使用的SSH实现,它包含了ssh客户端和服务端程序,...
在SSH集成环境中,如果直接将JSP文件放置在`webRoot`目录下,通常可以通过Spring的配置正确识别并处理请求到相应的action。然而,当这些JSP文件被放置在一个特定的目录下时,系统可能无法找到与之对应的action,这...
SSH集成在IT行业中通常指的是Spring、Struts和Hibernate这三个开源框架的集成,它们是Java Web开发中的常用组件,用于构建高效、可维护的企业级应用程序。SSH集成提供了模型-视图-控制器(MVC)架构模式的支持,使得...
SSH集成框架,全称为Spring、Struts和Hibernate的组合,是Java Web开发中常见的三大开源框架集成。这个框架集合了Spring的依赖注入、事务管理,Struts的MVC设计模式,以及Hibernate的对象关系映射(ORM)功能,为...
这个压缩包“ssh集成jar包”包含了搭建SSH框架所需要的各种库文件。 Spring框架是核心,它提供了依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)的功能,使得代码更加...
SSH框架,全称为Struts2、Spring和Hibernate的组合,是Java ...不过,随着技术的发展,如今Spring Boot和Spring Framework的最新版本已经不再推荐这种传统的SSH集成方式,而是倾向于更加轻量级、自动化配置的解决方案。
在这个"ssh集成demo"中,我们将深入探讨这三个组件的集成过程,以及如何利用它们来搭建一个基本的开发环境。 **Struts2** 是一个基于MVC设计模式的Web应用框架,它通过提供一套强大的Action类、拦截器和结果类型来...
在IT行业中,SSH集成指的是Spring、Struts和Hibernate这三个开源框架的集成,它们是Java Web开发中的重要组件。Spring提供依赖注入和面向切面编程,Struts处理MVC(模型-视图-控制器)架构,而Hibernate则负责对象...
最新SSH集成_2016-11-08.txt 环境:struts2.5.5+spring4.3.3+hiberante5.2.4 真正的集成,struts action交给spring托管。真实的项目工程,带数据库初始化脚本。
**SSH集成步骤详解** SSH(Struts + Spring + Hibernate)是一种经典的Java Web开发框架组合,用于构建企业级的Web应用程序。SSH集成了Struts的MVC设计模式、Spring的依赖注入和事务管理以及Hibernate的对象关系...
SSH集成是Java开发中一种常见的技术栈组合,主要包括Spring、Hibernate和Struts(或Spring MVC)这三个框架。在这个项目中,SSH被用来构建一个用户管理系统,实现了用户的基本操作以及权限控制功能。以下是对这些...
SSH(Struts2、Spring、Hibernate)是一种经典的Java Web开发框架,它整合了Struts2的MVC设计模式、Spring的依赖注入与事务管理以及Hibernate的对象关系映射工具,为开发者提供了一种高效、灵活的开发环境。...
1. **MyEclipse 5.5**:这是一个集成开发环境(IDE),提供了方便的Java和Web项目开发支持。 2. **JDK 1.6**:Java Development Kit,是编写、运行Java程序所需的基础软件。 3. **Java EE 5.0**:Java企业版,包含了...
通过以上配置,SSH框架能够协同工作,提供高效、灵活的企业级应用开发环境。然而,随着技术的发展,Spring Boot的出现简化了许多配置过程,使得现代Java应用的开发更加便捷。但了解SSH的集成配置对于理解Spring的...