搭建Spring Hibernate Sturts 框架
Struct2、Hibernate3、Spring3框架搭建实战
Struct2、Hibernate3、Spring3框架搭建实战采⽤⽬前最新的struts-2.3.1.2、hibernate3.6.10.Final、spring-framework-3.1.1.RELEASE开发包,以及eclipse-jee-indigo-SR2-win32、apache-tomcat-7.0.27服务器、JDK6和mysql5做开发环境,参考了前辈的⼀篇相关⽂章,改正了其中的错误和疏漏,克服了公司分配的“新”机器每⼩时⾃动重启三次的困难,终于把环境给搭好了。
整个过程中遵循的⼀个原则是,避免引⼊⽤不到的jar包,以求搭建⼀个最⼩的SSH 运⾏环境。
⾸先创建⼀个Dynamic web project 输⼊任意名字如SSHBase。
第⼀步:加载Spring环境我们需要引⼊的包有:org.springframework.asm-3.1.1.RELEASE.jarorg.springframework.beans-3.1.1.RELEASE.jarorg.springframework.context-3.1.1.RELEASE.jarorg.springframework.core-3.1.1.RELEASE.jarorg.springframework.expression-3.1.1.RELEASE.jarorg.springframework.jdbc-3.1.1.RELEASE.jarorg.springframework.web-3.1.1.RELEASE.jarorg.springframework.orm-3.1.1.RELEASE.jar由于spring默认开启了⽇志,还需要加⼊commons-logging的jar包,否则会报错。
建议不要⼀次性加⼊应该先加最核⼼的运⾏代码看缺少什么加什么,这样就不会加多余的包进来了,spring3已经把包按功能分开,不像以前⼀个包,这样更灵活,只要运⾏我们需要的功能,⽽没⽤到的就不⽤在硬性的添加进来。
Eclipse+Struts+Spring+Hibernate+Mysql环境搭建及访问数据库实例
前言:这个例子的view层用到了struts,DAO层用到了hibernate,由于逻辑及其简单(只是往数据库添加一条记录),所以暂时没有用到spring。
一、使用eclipse+struts+spring+hibernate+myeclipse+mysql开发配置过程。
1.jdk的安装:安装文件:jdk-1_5_0_15-windows-i586-p.exe说明:最好用jdk1.5,可以去sun主页下载,我这里已经下了,可以提供。
注意:最好在新装系统下安装,并且此前没有装过java相关的软件,以免出现版本或者path问题。
过程:可以直接安装到c盘根目录下即可,注意要记住安装路径,以后可能会用到。
2.web应用服务器tomcat的安装:安装文件:apache-tomcat-5.5.26.exe说明:要想构建jsp应用,web应用服务器是必须要有的,asp服务器为IIS,php服务器为Apache,jsp服务器比较多有weblogic和websphere(两者是商业级的,比较强大,但要收费),tomcat和resin(免费的,比较适用中小级应用,如果是大型应用则须考虑集群)。
在这里,我选用tomcat,因为它使用较广泛,网上相关的资料也比较多。
我并没有选择最新版本,原因是次新版本往往比最新版本更加稳定。
注意:必须先装jdk,否则不能安装tomcat(原因之一是tomcat在对jsp进行编译时用到了jdk,并且jdk是tomcat正常工作的前提)。
过程:可以直接安装到c盘默认路径,选择前面安装的jdk路径,并且修改端口8080为80(tomcat默认端口为8080,而一般我们通过IE访问时端口为80,需要注意的是要保证没有其他程序已经占用80端口(比如你已经装了iis或者apache),否则tomcat不能正常启动),控制台页面的管理员admin帐号暂时不设置密码。
测试页面http://127.0.0.1,检测是否安装成功,如果进入欢迎页面就表示tomcat安装成功。
零基础搭建spring+struct+hibernate详细步奏
目录:一、SSH结构简介 (2)二、环境配置 (3)(在配置之前,先建立一个Web Project)搭建好的效果 (3)添加spring (4)配置spring (8)导入mysql驱动包 (9)添加hibernate (9)配置hibernate (19)添加struts (19)配置struts (20)配置web.xml (21)三、程序的SSH层次 (21)四、具体代码 (22).ljq_01047010.dao (22).ljq_01047010.hibernate (23).ljq_01047010.struts (24)4.jsp中的代码 (26)五、程序效果 (31)(之所以截这么多图,本人还想将这个文档上传,以方便那些零基础的人!)一:SSH结构简介SSH 为 struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。
集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。
其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。
具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(Data Access Objects)接口,并给出Hibernate 的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理struts和hibernate。
系统的基本业务流程是:在表示层中,首先通过JSP页面实现交互界面,负责传送请求(Request)和接收响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理。
整合struts1+spring+hibernate框架完成简单的登录
*编写环境:*开发工具:Myeclipse6.01*SPRING :spring2.0*STRUTS :struts1.2*HIBERNATE:hibernate3.0*JDK: 1.6*TOMCAT: 6.0*WINDOW641.新建web项目。
2.选中新建项目,右键--》选择“myeclipse”--》添加Struts支持。
3.在弹出的信息框,有必要修改一下图中的地方。
4.上面的操作完成之后,打开我们的项目我们可以看到我们的项目结构发生了变化,引入了一些struts标签和生成了struts-config.xml配置文件。
5.开始添加spring支持,同样选中新建项目,右键--》选择“myeclipse”--》“添加spring 支持”,在弹出的信息框,做如下内容修改:6.点击“next”,直接选择默认,当然也可根据自己的规则做修改。
7.在添加“Hibernate”支持的时候,首先做的工作是创建一个数据源。
这个创建方法有很多中(找百度可得)这里只介绍一种:打开你的myeclipse的右上角的小三角,选择“myeclipsedatabase explorer”在弹出的界面中,在如图位置右键“new”在弹出的界面中做如下修改:修改完成后点击“test driver”成功则继续。
8.暂时回到myeclipse开发界面。
正式开始添加“Hibernate”支持。
在弹出的界面中做如图修改:点击“next”这里如图,选择spring的配置文件。
下一步操作后,做如下图修改操作:下一步之后,界面修改操作,如下图:去掉复选框中的选项,然后点击“finish”完成整个操作。
之后将会直接打开spring的配置文件,然后你核对一下您的数据库连接是否正确。
至此三大支持操作完成,启动没有问题说明框架雏形已经完成。
9.在项目中的WEB-INF下找到web.xml,做如下修改:格式头部分省略,下面是需要新增的代码<!--初始化spring配置参数 --><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value></context-param><!-- 配置监听 --><listener><listener-class>org.springframework.web.context.ContextLoaderListener</list ener-class></listener><!-- 配置spring过滤器解决中文乱码问题 --><filter>Ps :这个时候我们再次启动服务的时候,发现可能会报错:因为我们在刚才已经把spring 的配置文件做了初始化,而在spring 的配置文件中有数据源的连接,而我们的项目中可能还缺少一个包:commons-pool-1.4.jar(/detail/u013806366/7897665 )当我们把这个包放在lib 下,我们再次启动项目的时候,错误信息应该会消失。
Struts2+Spring+Hibernate搭建详解(包含代码)-13页word资料
Struts2+Spring+Hibernate搭建全解!Struts2+Spring+Hibernate是J2EE的最新流行框架。
本篇是我搭建这个框架的经验总结,有很多人搭建这个框架总会遇到大大小小的问题,网上也没有什么行之有效的方案或成体系的介绍,所以我就决定总结一下我的搭建过程。
给一些搭建尚存问题的朋友提供帮助。
我用这个框架,实现的是基本的CRUD功能的一个雇员管理系统,本来打算丰富一下功能,但是一直没能抽出空去搞。
目前版本暂定为1.0,除了CRUD外还配置了表单验证框架JSValidation。
功能都能很顺利的实现。
现在分享部分源码,来说明一些注意事项。
以下是部分搭建过程及源码:1.先组合实现Hibernate3.2+Spring2.5支持,删除hibernate.cfg.xml文件,修改applicationContext.xml文件的内容,增加SessionFactory和dataSource的设置。
2.通过MyEclipse的向导方式,生成POJO类和对应的映射文件。
3.修改applicationContext.xml文件中<property name="mappingResources">元素的内容。
4.编写DAO接口和实现类。
5.修改applicationContext.xml文件,增加对Dao实现类的配置。
6.组合Struts2和Spring2.5,修改web.xml文件,增加struts2的所需要的过滤器配置。
7.增加struts2相应类库,增加struts2与spring的配置jar包。
8.拷贝struts.xml文件到src根目录下,再修改struts.xml文件,进行常量配置。
9.修改web.xml文件,配置Spring监听器,和上下文变量。
并增加OpenSessionInViewFilter的设置。
10.写入action类。
11.配置struts.xml文件。
S4S2H4环境搭建过程
Spring4.2.3 +Struts2.3.24 +Hibernate4.3.11配置过程新建一个web项目一、搭建spring4.2.3环境并测试1.先引入spring开发包2.编写一个spring配置文件 applicationContext.xml3.测试spring安装是否完成二、整合Hibernate4.3.111. 引入hibernate jar包(其中包含了hibernate的C3P0支持包3个)其中包含的C3P0支持包如下:2.分别测试spring和hibernate是否正常。
两方都正常再进行下面集成。
Ps 1.测试时要注意加入第三方jdbc连接包。
Ps 2.发现错误解决:下载aopalliance.jar 并导入项目,问题解决。
3.在spring中配置 hibernate 资源文件(spring接管hibernate 的配置文件和对象映射文件)3.1 在 applicationContext.xml中配置数据源3.2 配置sessionFactory对象3.3 编写对象及映射文件4. 测试hibernate安装是否完成5.配置事务管理器(1.在applicationContext.xml中配置事务管理器2.启用事务注解3.在使用事务的类前加注解@Transactional,让spring事务管理器接管该service的所有事务。
ps.如果只需接管某些方法中的事务,可以在方法前加注解@Transactional)6. 测试hibernate安装是否正常三、整合struts 2.3.248.1 引入struts开发包注:由于在之前的jar包中,已经包含低版本的同类包,红色部分先不进行引入。
用于struts2集成spring。
Ps.引入后测试spring和hibernate集成能否正常使用。
8.2 创建 struts.xml 文件8.3 在web.xml中配置struts ,开发对应的action、form和对应页面8.4 测试struts是否正常配置8.5 在web容器中实例化spring容器(通过web.xml 实例化spring 容器),可以通过 WebApplicationContext 来获取spring容器实例8.6 将struts组件整合到spring容器中(spring接管struts的action组件)ps.1.通过spring容器注入action需要的service2.对struts2来说,sturts.xml中就action元素的class属性对应的值就应该是spring容器中的一个bean的id。
基于Struts+Hibernate+Spring的系统设计和开发
基于Struts+Hibernate+Spring的系统设计和开发俞国红(健雄职业技术学院计算机工程系,江苏太仓215411)摘要:阐述了以J2EE(JSP、JavaBean、Servlet)、SSH(Struts、Spring、Hibernate)开源框架为核心技术,逐步构建软件架构原型,构建系统原型作为系统开发的基础,提出了基于Struts、Spring和Hibernate框架的轻型J2EE 软件架构技术的系统设计和开发方法。
关键词:J2EE;Struts;Spring;Hibernate;架构中图分类号:TP311.52文献标识码:A1 前言J2EE(Java 2 Enterprise Edition即Java 2 平台企业版)是由Sun公司主持推出的一项中间件技术。
EJB (Enterprise JavaBean)是J2EE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。
但由于EJB的复杂性,导致程序的开发效率低。
在Spring和Hibernate 等轻量级框架出现后,大量的开发人员转向到以目前最流行的开源框架,能快速开发出结构清晰、可重用性好、维护方便的轻量级的J2EE企业系统应用。
2 Web应用的分层分析构架Web企业系统应用时需要考虑用户交互、处理业务逻辑、应用数据持久化、扩展性等很多问题,所以一个应用的架构方案和实现技术选择十分重要。
而分层的目的就是对应用的逻辑功能进行划分,使每层在完成自己功能的同时,不影响其它层,实现“高内聚,低耦合”具有易于控制、扩展、维护的优点,图1是一个典型的轻量级J2EE应用架构,Web 应用分层结构基本上都分为三层:表现层、业务逻辑层、数据持久层。
表示层用来处理用户和软件之间的交互,它主要的责任是向用户展现信息以及处理用户请求。
业务逻辑层,又叫做领域逻辑层。
其职责包括处理业图1 典型的Web应用分层结构Fig.1 Typical Web application hierarchical structure务逻辑和存储业务数据,校验从表示层传过来的数据,通过表示层提交的命令来执行相应的业务逻辑。
Struts+Spring+Hibernate整合入门详解
3、运行eclipse,选择一个空目录作为工作区(工程结构如下:其中我们要写的Java代码在Java Resource: src(以后直接称src)下,网站根目录内容在WebContent下,类所在根目录是WEB-INF/classes,Eclipse 会自动将build/classes里面已经编译的类同步过去。
向WEB-INF下的lib目录添加如下所列的jar包。
(1)这些包在下载解压后Spring,Struts,Hibernate的lib目录或者dist/module目录下面(如果不在,可以到网上google一把。
列表中mysql-*.jar包是MySQL数据库的JDBC Driver)。
也可以把所有lib和dist 下的jar包拷贝过来(可以在系统复制这些jar包,然后到Eclipse里面选中WEB-INF里面的lib包,然后粘帖就可以了)。
但要注意全拷贝可能会存在冲突,如struts*plugin.jar等包不能引入,否则不能运行。
(2)这些Jar包是:antlr-2.7.2.jarcglib-nodep-2.1_3.jarcommons-beanutils-1.6.jarcommons-chain-1.1.jarcommons-collections-2.1.1.jarcommons-dbcp.jarcommons-digester.jarcommons-logging-1.0.4.jarcommons-logging-api-1.1.jarcommons-pool.jarcommons-validator-1.3.0.jardom4j-1.6.1.jarel-api.jarel-ri.jarfreemarker-2.3.8.jarhibernate3.jarjsf-api.jarjta.jarmysql-connector-java-3.0.14-production-bin.jarognl-2.6.11.jaroro-2.0.8.jarspring-hibernate3.jarspring.jarstruts-config.xmlstruts-core-1.3.5.jarstruts2-codebehind-plugin-2.0.9.jarstruts2-config-browser-plugin-2.0.9.jarstruts2-core-2.0.9.jarstruts2-jasperreports-plugin-2.0.9.jarstruts2-jfreechart-plugin-2.0.9.jarstruts2-jsf-plugin-2.0.9.jarstruts2-pell-multipart-plugin-2.0.9.jarstruts2-plexus-plugin-2.0.9.jarstruts2-sitegraph-plugin-2.0.9.jarstruts2-sitemesh-plugin-2.0.9.jarstruts2-spring-plugin-2.0.9.jarstruts2-struts1-plugin-2.0.9.jarstruts2-tiles-plugin-2.0.9.jartiles-api-2.0.4.jartiles-core-2.0.4.jartiles-jsp-2.0.4.jarindex.jsp的内容如表,我们暂时不分析。
Struts+Spring+Hibernate框架实用教程(SSH框架)
Struts+Spring+Hibernate整合教程v1.0作者: 陈文光<chenjacken@>作者Blog: 声明本文内容根据个人所知的以及网络文章整理而成, 如有侵权, 请与本人联系.菜鸟写的文章,难免有错误,望体谅以及给我修正本文内容仅供参考, 不得用于商业目的.转载请著名作者和出处.日期: 2008-01-061 SSH整合理念 (3)1.1 框架 (3)1.2 应用层 (4)1.2.1 表现层 (4)1.2.2 持久层 (4)1.2.3 业务层 (5)1.2.4 领域模型层 (6)1.3 整合一个简单的例子 (6)2 Spring整合Struts (6)3.1 三个小窍门 (6)3.2 窍门1. 使用Spring 的ActionSupport (7)3.3 窍门2. 覆盖RequestProcessor (8)3.4 窍门3. 将动作管理委托给Spring (9)3.5 拦截Struts (10)2.5.1. 前提: (10)2.5.2. 使用拦截器的步骤: (10)2.5.3. 一个例子: (10)3 Spring整合Hibernate (11)3.1 为什么要整合? (11)3.2 配置数据源 (11)3.3 配置sessionfactory (13)3.4 配置事务 (15)1SSH整合理念1.1框架用java来建立一个很有价值的web 应用不是一个简单的任务。
在架构这个应用时要考虑很多的因素和问题。
从更高的层次来看,开发人员面临着关于如何构建用户接口,何处驻留业务逻辑,以及如何实现数据持久性这些问题。
这3层都有各自的问题需要回答。
而每一层又需要实现那些技术?应用如何设计来进行松散耦合并能进行灵活变更?应用架构是否允许某一层变更而不影响到其它的层次?应用应该如何处理容器一级的服务比如事务?在为你的应用创建一个架构之前有许多问题需要澄清。
幸运的是,有很多开发者都意识到这个问题,并建立了很多框架来解决这些问题。
struts2+hibernate+spring经典整合实例教程
Struts2与Spring、Hibernate三者整合的过程示例:示例工具:MyEclipse 7.0、Tomcat 6.0、MySql步骤:1.创建一个WEB工程,命名为BookShop(名字自己取,此处为示例工程名);2.导入struts2的核心jar包,也就是在WEB-INF下的lib文件夹中放入jar包文件,如下图(图中jar包为示例版本):3.加载spring,选中工程名,右击并选择【MyEclipse】选项下的【Add Spring Capabilities...】(或者在工具栏中选择【MyEclipse】下的【Add Spring Capabilities...】),在弹出的对话框中进行如下图所示操作:点击【Next】,点击Folder文本框后的【Browse】,在弹出对话框中选择spring配置文件存储位置为WEB-INF 文件夹,如下图所示:点击【OK】后,再点击【Finish】完成。
至此,已经完成加载spring,在WEB-INF文件夹下已经生成了配置文件applicationContext.xml。
4.加载Hibernate,选择【MyEclipse】下的【Add Hibernate Capabilities...】,在弹出对话框中进行如下图所示操作:点击【Next】后,选择Existing Spring configuration file单选框,在SessionFactory Id文本框中填入"sessionFactory",如下图所示:点击【Next】,进行如下图所示操作:该操作中,只需在Bean Id文本框中输入一个Id名,作为数据库源的代用名,意义不大。
然后在DB Driver 下拉列表中,选择MyEclipse中创建好的数据库源xiaoqi,其他信息将自动填写。
点击【Next】,在弹出对话框中去掉Create SessionFactory class?复选框,不创建该类,点击【Finish】完成(创建过程中,加载的jar包文件可能有重复,所以这个时候如果提示有某些jar包重复,问全部保存【Keep Exiting】,还是替换掉【Replace】,可以选择替换掉【Replace】)。
原创Struts+Spring+hibernate框架整合步骤(多图)
Struts框架应用步骤第1步:向web应用程序添加struts框架的功能注意:必须要选中项目的根节点第2步:创建一个普通的类,一般都归放在web层的包中。
第3步:在类中定义前台页用户输入的数据项,并为这些数据项提供get/set方法第4步:再定义一个处理业务请求的方法,该方法返回String类型第5步:将这个定义了数据项和业务处理方法的类,在struts.xml中注册第6步:编写前台JSP页面,并导入Struts标签库,并且把form的action属性填写上面配置的action的name值Spring框架应用步骤第1步:选中根节点,选spring框架,如下图第2步:在web.xml文件中加上以下代码<listener><listener-class>org.springframework.web.context.ContextLoaderL istener</listener-class></listener>第3步:在spring的配置文件applicationContext.xml中注册各层的对象注意:每层的对象注册时,如果该对象还有属性依赖别的对象,应该为这个属性生成get/set 方法第4步:在struts配置文件加上以下代码,用以交出对象的控制权<constant name="struts.objectFactory"v alue="spring"></constant><include file="struts-default.xml"></include>第5步:修改struts的action的class属性,使之与spring中的对象id属性值对应第6步:将applicationContext.xml复制到WEB-INF目录下,就可以部署启动了。
Struts+Spring+Hibernate整合开发详
Struts+Spring+Hibernate/SSH整合开发详细(一)终于,终于将SSH整合成功了,弄了几个小时,可以休息了(有的朋友弄了半个月,甚至重装了系统也没弄好,哎,庆幸啊)。
碰到问题千万不要放弃,要相信没有解决不了的问题!项目结构图:jsp部分为:index.jsp;success.jsp;fail.jspUserDAO.java,User.hbm.xml自动生成,HibernateSessionFactory是多余的。
相关的配置文件、类文件详细信息,请参看Struts+Spring+Hibernate/SSH整合开发详细二以前是整过这三个框架的,可是工作期间都不曾用过,不知不觉之中,学的东西全忘了。
这次又要开始找工作了,看着招聘启事上都写着:要求熟练掌握Struts,Hibernate或Spring框架……,没得办法,重新学呗。
Spring in Action中文版下载地址(ftp协议)ftp://222.214.218.61/book5/20080228/cf8b35cc-5bcd-4973-b6b7-37a e3ec78391.rar如果无法下载,可以在里重新搜索首先开始搭建项目环境,步骤如下:使用平台:MyEclipse 6.0框架版本:Struts 1.2 Hibernate 3.0 Spring 2.01> 添加过程:<1> 新建项目。
Package Explorer视图下,右键单击 New -> Web Project;<2> 添加Struts框架。
菜单栏MyEclipse -> Capabilities,或者右键单击新建的项目名,选择快捷菜单中的"MyEclipse"下的二级菜单;设置相关的包名后,请写一个Struts的小例子,用来测试Struts是否可用;<3> 添加Spring。
步骤同2所述,只不过这次是加入Spring Capabilities。
struts+spring+hibernate三个框架的整合
struts+spring+hibernate三个框架的整合准备三个框架结合的lib包Spring3结合Struts2的步骤如下:1:开启Struts2结合Spring3,在struts.xml中添加如下语句:java代码:<constant name="struts.objectFactory" value="spring"/>2:在web.xml中添加listener,如下:java代码:<listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>3:在web.xml中指定需要初始读取的spring配置⽂件,如下:java代码:<context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml</param-value></context-param>5.当然别忘了加上Struts2⾃⼰的filter4:在struts.xml中Action配置的时候,如下:java代码:<action name="testAction" class="springBeanName"><result name="success">/index.jsp</result></action>5:在Spring中正常定义Bean就可以了,把Action定义成为Bean,如下:java代码:<bean id="testAction" class="com.bjpowernode.test.web.TestActioin"><property name="ebi" ref="testEbi"/></bean>6:在Struts的Action中,就可以通过依赖注⼊的⽅式来注⼊需要使⽤的接⼝了。
Struts2+Hibernate+Spring基本搭建
10)guid 在MS SQL Server 和 MySQL 中使用数据库生成的GUID字符串。
11)select 通过数据库触发器选择一些唯一主键的行并返回主键值来分配一个主键。 12)foreign 使用另外一个相关联的对象的标识符。通常和<one-to-one>联合起来使用。
一般而言,利用uuid.hex方式生成主键将提供最好的性能和数据库平台适应 性另外由于常用的数据库,如OracleDB2SQLServerMySql 等,都提供了易用 的主键生成机制(Auto-Increase 字段或者Sequence)我们可以在数据库提供 的主键生成机制上,采用generator-class=native的主键生成方式不过值得注意 的是,一些数据库提供的主键生成机制在效率上未必最佳,大量并发insert数据 时可能会引起表之间的互锁
<!-- 配置事务 --> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory"> <ref local="sessionFactory" /> </property> </bean>
使用Maven搭建Struts2+Spring3+Hibernate4的整合开发环境
使用Maven搭建Struts2+Spring3+Hibernate4的整合开发环境一、建立Maven工程第一步:第二步:第三步:创建好的项目如下图所示:第四步:注意:这里的JDK要选择默认的,这样别人在使用的时候,如何JDk不一致的话也不会出错,如下图所示:第五步:创建Maven标准目录src/main/javasrc/main/resourcessrc/test/javasrc/test/resources第六步:发布项目:Maven install清除编译过的项目:Maven cleanMaven install命令执行结果如下:OK,Maven工程创建成功!二、搭建Spring3开发环境2.1、下载Spring3需要的jar包1.spring-core2.spring-context3.spring-jdbc4.spring-beans5.spring-web6.spring-expression7.spring-orm在pom.xml中编写Spring3需要的包,maven会自动下载这些包以及相关的依赖jar包。
1<!-- spring3 -->2<dependency>3<groupId>org.springframework</groupId>4<artifactId>spring-core</artifactId>5<version>3.1.2.RELEASE</version>6</dependency>7<dependency>8<groupId>org.springframework</groupId>9<artifactId>spring-context</artifactId>10<version>3.1.2.RELEASE</version>11</dependency>12<dependency>13<groupId>org.springframework</groupId> 14<artifactId>spring-jdbc</artifactId>15<version>3.1.2.RELEASE</version>16</dependency>17<dependency>18<groupId>org.springframework</groupId> 19<artifactId>spring-beans</artifactId>20<version>3.1.2.RELEASE</version>21</dependency>22<dependency>23<groupId>org.springframework</groupId> 24<artifactId>spring-web</artifactId>25<version>3.1.2.RELEASE</version>26</dependency>27<dependency>28<groupId>org.springframework</groupId> 29<artifactId>spring-expression</artifactId> 30<version>3.1.2.RELEASE</version>31</dependency>32<dependency>33<groupId>org.springframework</groupId> 34<artifactId>spring-orm</artifactId>35<version>3.1.2.RELEASE</version>36</dependency>2.2、编写Spring配置文件在src/main/resources目录下创建一个spring.xml文件,如下图所示:spring.xml文件的内容如下:1<?xml version="1.0" encoding="UTF-8"?>2<beans xmlns="/schema/beans"3xmlns:xsi="/2001/XMLSchema-instance"4xmlns:context="/schema/context"5xsi:schemaLocation="/schema/beans6/schema/beans/spring-beans-3.0.xsd7/schema/context8/schema/context/spring-context-3.0.xsd9">1011<!-- 引入属性文件,config.properties位于src/main/resources目录下-->12<context:property-placeholder location="classpath:config.properties"/>1314<!-- 自动扫描dao和service包(自动注入) -->15<context:component-scan base-package="me.gacl.dao,me.gacl.service"/>1617</beans>在src/main/resources目录下创建一个config.properties文件,如下图所示:config.properties文件主要是用来编写一些系统的配置信息,例如数据库连接信息,config.properties文件中的内容暂时先不编写,等整合到Hibernate时再编写具体的数据库连接信息。
第9章 Spring与Struts2、Hibernate框架的整合
第9章Spring与Struts2、Hibernate框架的整合基础一、搭建Struts框架注:导入的jar包与前面课程介绍的不同二、搭建Spring框架1.添加的类库包括AOP、Core、Persistent Core、JDBC、Web库2.修改applicationContext.xml的存储目录为WebRoot/WEB-INF三、搭建hibernate框架1.建立数据库连接2.搭建框架,注意选择的配置文件为applicationContext.xml而不是hibernate.cfg.xml。
1)设置SessionFactory的Bean id为sessionFactory。
2)设置DataSource的Bean Id为dataSource3)取消“Create SessionFactory class”选项4)导入包commons-pool-1.3到lib文件夹。
四、修改web.xml加入Spring监听器配置,至此所有框架搭建完毕。
<listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>五、数据库建表六、在工程下创建domain、dao包,反向工程自动生成实体类、配置文件、dao类。
1)反向工程将生成的dao文件2)移动dao类到dao包,修改由于移动dao类后applicationContext.xml出现的错误,并将id名首字母改成小写。
3)为dao类提取出接口。
在工作区右键dao文件-》refactor-》extract interface七、编写service、service接口并配置1)创建service包2)创建service类,定义方法findScoreBySnumber()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
<servlet-class>
org.apache.struts.action.ActionServlet
</servlet-class>
<init-param>
<param-name>config</param-name>
1.导入ssh的jar
2.搭建struts环境
a.在WEB-INF文件夹中创建struts-config.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
<hibernate-configuration>
</hibernate-configuration>
4.搭建spring环境
a.在src下创建applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>ActionServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
11.在strut-config.xml中配置代理控制器
<controller>
<!-- spring提供的代理控制器 -->
<set-property property="processorClass"
"/struts/dtds/struts-config_1_2.dtd">
<struts-config>
</struts-config>
3.搭建hibernate环境
a.在src下创建hibernate.cfg.xml
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<!-- 配置事务特性 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
/schema/aop /schema/aop/spring-aop-2.5.xsd
/schema/tx /schema/tx/spring-tx-2.5.xsd">
jdbc:oracle:thin:@127.0.0.1:1521:orcl
</property>
<property name="ername">scott</property>
<property name="hibernate.connection.password">tiger</property>
8.在applicationContext.xml中配置sessionFactory和事务
<!--sessionFactory -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
read-only="true" isolation="READ_COMMITTED" />
</tx:attributes>
</tx:advice>
<aop:config>
<!-- 事务一般作用在service层 -->
<aop:pointcut id="curd"
value="org.springframework.web.struts.DelegatingRequestProcessor" />
</controller>
练习:动态查询
编写代码
从dao层开始
1.创建po包,拷贝po类和orm.hbm.xml
2.创建dao包,定义dao接口
<property name="configLocation"
value="classpath:hibernate.cfg.xml">
</property>
</bean>
<!-- 事务管理器 -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"/hibernate-configuration-3.0.dtd">
expression="execution ( * com.puckasoft.service..*.* (..))" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="curd" />
</aop:config>
9.在web.xml中配置spring监听
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext.xml</param-value>
</context-param>
<tx:attributes>
<tx:method name="*" propagation="REQUIRED"
isolation="READ_COMMITTED" rollback-for="Exception" />
<tx:method name="find*" propagation="NOT_SUPPORTED"
<beans xmlns="/schema/beans"
ቤተ መጻሕፍቲ ባይዱ xmlns:xsi="/2001/XMLSchema-instance"
xmlns:aop="/schema/aop"
3.创建dao.hibernate包,定义实现类
4.测试
<property name="format_sql">true</property>
<mapping resource="com/puckasoft/po/orm.hbm.xml" />
</session-factory>
</hibernate-configuration>
xmlns:tx="/schema/tx"
xsi:schemaLocation="
/schema/beans /schema/beans/spring-beans-2.5.xsd
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
10.在web.xml中配置中央控制器
<servlet>
<session-factory>
<property name="hibernate.connection.driver_class">
oracle.jdbc.driver.OracleDriver
</property>