1. 组合Hibernate 与Spring
1.1. 现在是创建一个新的项目,就要创建数据库
在oracle中创建一个product 的表,创建表的SQL如下
CREATE TABLE PRODUCT
(
ID NUMBER NOT NULL PRIMARY KEY,
NAME VARCHAR2(64),
PRICE VARCHAR2(64),
TYPE VARCHAR2(64),
);
1.2. 在Eclipse 中,新建一个Web project
1.3. 给项目增加Spring开发能力,增加spring相关类库到当前项目的lib,同时也提供了applicationContext.xml文件,注意:最好把applicationContext.xml文件保存到当前项目的WebRoot/WEB-INF的根目录下
1.4. 给项目增加Hibernate开发能力,增加Hibernate相关类库到当前项目的lib,同时用applicationContext.xml文件代替hibernate,cfg.xml.
1.5. 通过MyEclipse的向导方式,生产POJO类和映射文件。
l 通过Show Views 找到DB Browser。
l 选择user,单击右键,选择”Hibernate Revese Engineering..”。
l java src folder 选择正确工程下的:src,下面可以选择产生抽象的类abstract class,也可以不产生;hibernate3中可以选择产生DAO,也可以不选择,然后单击“Next”。
l 选择hibernate types,ID genrator 选择“native”。
添加后目录
这时applicationContext.xml中,自动添加上了mappingResources
<property name="mappingResources">
<list>
<value>com/cnkf/template/pojo/Product.hbm.xml</value></list>
</property>
1.6. 添加好实体类,添加DAO类、Service类和相应的接口,
1.7. 修改applicationContext.xml,添加dao和service配置。
<bean id="dao"
class="com.cnkf.template.dao.ProductDAOImpl">
<property name="sessionFactory" >
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id="productServ"
class="com.cnkf.template.service.ProductServImpl">
<property name="dao" >
<ref bean="dao"/>
</property>
</bean>
2. 在组合struts2 ,完成struts,hibernate,spring三者的组合。
2.1. 修改web,.xml,增加struts 所需的过滤器配置
<!--在部署之前,先清除环境,如不加,查看视频是会找不到资源-->
<filter-name>struts-cleanup</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ActionContextCleanUp
</filter-class>
</filter>
<!--部署filter的名称以及对应的类-->
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<!--部署filter的对应的URL模式-->
<filter-mapping>
<filter-name>struts-cleanup</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.htm</url-pattern>
</filter-mapping>
项目中还可能用到其他的过滤器,开发中自行添加
2.2. 添加struts2必须的类库,增加struts2-spring-plugin-x-x-x.jar文件,
(commons-logging-1.0.4.jar,freemarker-2.3.12.jar,ognl-2.6.11.jar,struts2-core-2.1.2.jar,xwork-2.1.1.jar)
2.3. 需要拷贝struts.xml, struts.properties到src目录下,然后进行修改
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>
<!--需要用到struts-default.xml的配置,就必须加载-->
<include file="struts-default.xml"/>
<package name="default" extends="struts-default" >
</package>
<!--struts属性的设置-->
<constant name="struts.objectFactory" value="spring" />
<!-- 此处用constant元素定义常量 -->
<constant name="struts.devMode" value="true"/>
<!-- 定义资源文件的位置和类型 -->
<constant name="struts.custom.i18n.resources" value="properties/myMessages"/>
<!-- 设置应用使用的解析码 -->
<constant name="struts.i18n.encoding" value="UTF-8"/>
<!-- 设置应用使用的上传解析器类型 -->
<constant name="struts.multipart.parser" value="jakarta"/>
<!-- 指定使用按type的自动装配策略 -->
<constant name="struts.objectFactory.spring.autoWire" value="name"/>
</struts>
struts.properties
struts.locale=en_GB
有需要在添加。
2.4. 修改web,.xml,增加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>
2.5. 修改web,.xml,增加OpenSessionInViewFilter的设置
<filter>
<filter-name>lazyLoadingFilter</filter-name>
<filter-class> org.springframework.orm.hibernate3.support.OpenSession InViewFilter
</filter-class>
分享到:
相关推荐
Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自在应用程序的不同层面上发挥作用,共同构建出高效、模块化的后端系统。Struts2主要用于控制应用程序的流程,Spring则是一个全面的轻量级应用框架,...
在Java Web开发领域,Struts2、Spring2与Hibernate3.1是非常经典的组合,它们分别负责表现层、业务逻辑层以及数据访问层,能够帮助开发者快速构建高质量的企业级应用。本文将详细介绍如何在MyEclipse 6.0环境下搭建...
struts1.2+spring2.0+hibernate3.1框架整合实例 part2 part1地址:http://download.csdn.net/source/1555175
采用在web.xml中加载spring配置文件的方法降低struts和spring的耦合度,使用自定义的MyDelegatingRequestProcessor类来代替spring的DelegatingRequestProcessor类来解决spring中action的bean的重复配置问题。...
eclipse整合Struts1.2 + hibernate3.1 + spring2.0 相关链接:http://blog.csdn.net/shellwin/archive/2010/07/02/5708865.aspx
Struts2、Spring 2.5 和 Hibernate3.1 是经典的Java Web开发三大框架,合称为SSH或S2SH框架。这些技术的结合为开发者提供了强大的模型-视图-控制器(MVC)架构,用于构建高效、可维护的Web应用程序。 **Struts2** ...
Struts1.2、Spring2.0和Hibernate3.1是经典的Java企业级开发框架组合,被称为SSH(Struts-Spring-Hibernate)集成框架。这个小实例为学习者提供了使用这三个框架协同工作的基础示例,有助于理解它们如何在实际项目中...
Struts2+Spring+Hibernate(SSH)是一种经典的Java Web开发框架组合,用于构建高效、可扩展的企业级应用程序。本教程将详细介绍如何配置这三个组件,以确保一个完整的开发环境。 首先,我们来了解一下SSH的组成部分...
SSH(Struts2 + Spring2.0 + Hibernate3.1)是一个经典的Java Web开发框架组合,用于构建高效、可扩展的企业级应用。这个上传下载例子是基于SSH框架实现的一个功能模块,它展示了如何在Web应用中处理文件的上传和...
Struts2、Spring、Hibernate和DWR是Java Web开发中常用的四大框架,它们各自负责不同的功能,协同工作能构建出高效、灵活的企业级应用。在这个小实例中,开发者结合这四个框架来展示了一个完整的后端架构。 Struts2...
在本文中,笔者将Struts2.0.6、Spring2.0.6和Hibernate3.1进行整合,希望通过这样的整合示例,让读者了解这些框架各自的特点,以便于在自己的项目中,根据实际情况,尽快的过渡到Struts2的时代。本文的内容基于...
本实例聚焦于三大主流Java EE框架的整合——Hibernate 3.6.8、Spring 3.0.6和Struts 2.2.3.1。这三者结合,能够构建出功能强大且灵活的后端架构。 Hibernate是一个对象关系映射(ORM)框架,它允许开发者用面向对象...
Struts2、Hibernate3.1和Spring2.0是经典的Java Web开发框架组合,被称为SSH。这个实例源码集合提供了一个完整的项目示例,旨在帮助初学者理解和掌握这三大框架的整合应用。以下是对这三个框架及其整合的详细介绍: ...
标题中的"struts2.0+hibernate3.1+spring2.0实例源码里的jar2"指的是一个基于这三个经典技术栈的Web应用程序示例。Struts2、Hibernate和Spring是Java开发中非常流行的开源框架,它们分别用于MVC(模型-视图-控制器)...
接下来,Struts2与Spring的集成主要通过Struts2-Spring插件实现,该插件让Struts2能够识别由Spring管理的Action实例。这有助于实现业务逻辑的解耦。 最后,Spring与Hibernate的集成则通过Spring的Hibernate模板或...
自己最近在研究Struts2.5+Hibernate3.1+Spring的应用,好不容易调通了这个程序,现在跟大家一起分享,本文件提供了开发实例文档及实例工程,该java project是在myeclipse平台上面实现的,实例展示了hibernate如何与...
Struts2、Spring和Hibernate是Java Web开发中的三个核心框架,它们共同构成了SSH(Struts2、Spring、Hibernate)架构,被广泛应用于企业级应用的开发。本实例旨在帮助初学者理解如何结合这三个框架实现基本的数据...
这是一个struts2+hibernate+spring整合的实例,带有分页功能,希望对刚接触struts2的朋友有些帮助。spring2.0,hibernate3.1分页用的是自字义标签,不要少了这个包standard.jar
Struts2.0、Hibernate3.1和Spring2.0是经典的Java企业级开发框架组合,它们在2000年代中期至后期广泛应用于构建Web应用程序。这些框架各自扮演着不同的角色,共同提供了强大的功能来简化开发过程。 Struts2.0是一个...