Struts2+Spring3+Hibernate4+Maven整合

合集下载

用Maven整合SpringMVC+Spring+Hibernate 框架

用Maven整合SpringMVC+Spring+Hibernate 框架

一、搭建开始前的准备1、我用的MyEclipse2014版,大家也可以用IDEA。

2、下载Tomcat(免安装解压包)、MySQL、用的Navicat for MySQL的MySQL的图形界面工具。

3、配置环境变量CATALINA_HOME(path中添加%CATALINA_HOME%\lib;%CATALINA_HOME%\bin;)、MySQL_HOME(path中添加%MySQL_HOME%\bin;)4、启动mysql和Tomcat试试能否正常运行。

5、打开MyEclipse新建Maven项目。

File>New>Other(或Ctrl+N)>Maven Project;然后我们用default Workspace就行了(注意Location的路径,区分目录名和项目名);然后再Filter中输入webapp,我们选择org.apache.maven.archetypes 下的maven-archetype-webapp;点击下一步,填入Group Id(公司名,一般为com.xxx),Artifact Id (项目名),包名(一般根据公司名和项目名生成),单机Finish就创建完一个Maven的Web项目了。

注:创建出来后有时候会有错(具体是index.jsp)这是因为我们没有在pom.xml中添加servlet的原因,自己加上就OK了。

6、一般创建出来的项目,只有src/main/resources,然后我们加上其他的三项(必须是新建Source Folder!src/main/java; src/test/resources; src/test/java),有时候会提示你该文件夹已经存在,我们稍改一下名,等创建完了后再用F2改回正确的就OK了(例如src/main/java创建失败,我们把java改为javas,最后再改为java即可。

)最终创建出来的目录如图:7、万事具备只欠搭建,好吧下面才开始进入正文。

struts2+spring3+hibernate整合教程

struts2+spring3+hibernate整合教程

Struts2+Spring3+hibernate3整合(2011年7月末,最新)上次下载了一个教程,上面写着:“献给我亲爱的老婆!”(羡慕不已)。

想了想,我没老婆,难道没什么好写了!不难…献给我暗恋过的每一个女人!(嘿嘿…)如果在你遇到的女生中有一个幽默豁达的女生,不要犹豫,追上去,就娶她了!一,需要的框架包二,建立project,添加相应的.jar文件(重点)1,eclipse中建立dynamic web project,这里是ssh_integrate_0100。

2,src中创建需要的类,这里以一个域模型为user的例子说明。

(现在建立这些类,可以方便我们在搭建时候随时测试!)User.javaIUserDao.javaUserDaoImpl.javaIUserService.javaUserServiceImpl.java3,拷贝spring-framework-3.1.0\dist目录下的所有jar包,注意有一个不是jar的文件,当然拷过去也没事。

4,拷贝spring运行中需要的其他jar文件,主要是mons-logging,可以从spring-framework-3.0.2.RELEASE-dependencies中找到。

ii.Aspectjrt.jar和aspect-waver.jar,可以从spring-framework-2.5.6-with-dependencies/lib/aspectj下面找到(不知道为什么,spring-framework-3.0.2.RELEASE-dependencies中没有aspectjrt的jar包)iii.aopalliance.Jar,apache-dbcp.jar,apache-pool.jar,可以从spring-framework-3.0.2.RELEASE-dependencies中找到。

5,建立beans.xml,这里使用的是annotation和component-scan,这样配置可以大大简化配置,所以是best-practice,其他配置请参考spring文档。

Struts2、spring2、hibernate_的整合

Struts2、spring2、hibernate_的整合

一.struts 2 与spring2struts2 本身就采用了类似于spring的IOC容器机制,可以利用struts2官方提供的插件struts2-spring-plugin-2.0.11.1.jar,直接与spring进行整合,配置文件中只需要设置struts.objectFactory=spring这样,就将struts2的对象管理交给了spring2的IOC容器。

在struts.xml中配置的action<package name="maintaince" extends="struts-default"><action name="serverInfoList" class="serverInfoService" method="getAllServersInfo"><result name="list">/jsp/server_info/server_info_list.jsp</result></action>在spring的配置文件中配置的bean<bean id="serverInfoService" class="com.wod.service.impl.ServerInfoServiceImpl"><property name="serverInfoDao" ref="serverInfoDao"/><property name="sib" ref="serverInfoBean"/></bean>可以看出,struts2可以直接只用在spring2中配置的bean,引用过来作为action。

Struts2+spring2+hibernate3整合方案

Struts2+spring2+hibernate3整合方案

Struts2+spring2+hibernate3整合方案最近闲来无事可做,于是开始学习struts2。

Struts2和struts1、webwork2有什么区别我也不说了,网上有很多这方面的资料。

以前在项目中从未使用过struts,一直使用spring+hibernate,现在既然学习了Struts,也不能浪费,于是乎开始琢磨着怎么整合这3个框架。

整合原理以spring为容器,管理hibernate的DAO和Struts2的Action。

一、准备工作Struts2.06+spring2.5+hibernate3.2+jdk6.0+myeclipse6.0+tomcat5.5+mysql 5.0以上是整合的原料。

下面以一个注册登陆的例子来开始我们的整合过程。

这个例子很简单,下面是它的sql脚本内容:CREATE TABLE `user` (`userid` int(11) NOT NULL AUTO_INCREMENT,`username` varchar(20) NOT NULL,`password` varchar(16) NOT NULL,`email` varchar(30) NOT NULL,PRIMARY KEY (`userid`)) ENGINE=InnoDB DEFAULT CHARSET=utf-8;二、开始行动包结构可以参考下图1) Struts部分:建立struts.xml和struts.propertiesStruts.xml内容如下:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configur ation 2.0//EN" "/dtds/struts-2.0.dtd" ><struts><package name="user_curd" extends="struts-default"><global-results><!-- 下面定义的结果对所有的Action都有效 --><result name="exception">/error.jsp</result></global-results><global-exception-mappings><!-- 指Action抛出Exception异常时,转入名为exception的结果。

Struts,Spring,Hibernate框架的整合与研究

Struts,Spring,Hibernate框架的整合与研究
Sr t p ig ien t 框架的整合 与研 究 tus S r ,H b r ae n
刘 东 旭 马 亚 琦 河南质 量 工 程职 业 学 院信 息工 程 系 河南 平顶山 4 00 67 0
【 要】 摘 本文介 绍 了以 Sr g为基础 , p i n 结合 Srt 和 Hbra e t s u i nt 形成 一个 表示层 、 业务层 、持 久层 的 W b 决方案 ,tu s + i ra e S r g e e解 S t Hb n t+ pi r e n
中 图 分 类 号 :TP 9 文 献 标 识 码 :B 文 章 编 号 :1 0 —0 7 2 l ) 5 1 — 2 33 0 94 6 ( 0 10 —250
1引 言
Jv a a作 为 建 立 企 业级 应 用 平 台 的标 准 ,a a E得 到 了迅 速 的 发展 。 Jv E Jv E 规 范包 含 了多项 框架 技术 , 统开 发人 员可 以通 过使 用 框架很 容 易地 aa E 系 构 建 起成 熟 而又 稳 定的 基 础架 构 , 从而将 更 多 的精 力 放 到业 务逻 辑 设 计上 。 在 诸 多框 架 中 , 目前 , Sr t、S rn 以 tus pig和 Hien t 最 为流 行 。为 了 降低 b r ae 代 码 的耦 合 性 , 高 系 统 的开 发 效 率 , 文 提 出 了一 种 基 于 Sr t、 p ig 提 本 tus S rn
S r g是一 个 以依赖 注入 ( C原 则 和面 向方 面编 程思 想 ( P 为基 础 pi n I ) o AO ) 的 轻量 级 框架 。o IC是 一 个用 于 “ 基于 组 件 的 体 系结 构 ”的 设计 模 式 , 它将
3 2添加 S r g框 架 . pi n

struts2+spring+hibernate整合步骤

struts2+spring+hibernate整合步骤

引用struts2、hibernate、spring所需jar包struts-core-2.x.x.jar ----struts核心包xwork-core-2.x.x.jar -----身体ruts在其撒很难过构建ognl-2.6.x.jar ----对象导航语言freemarker-2.3.x.jar ------struts2的ui标签的模板使用commons-fileupload-1.2.x.jar ----文件上传组件 2.1.6版本后需加入此文件struts-spring-plugin-2.x.x.jar ---用于struts2继承spring的插件hibernate核心安装包下的(下载路径:/ ,点击Hibernate Core 右边的download)hibernate2.jarlib\bytecode\hibernate-cglib-repack-2.1_3.jarlib\required\*.jarhibernate安装包下的(下载路径:/;点击Hibernate Annotations 右边的下载)hibernate-annotations.jarlib\ejb3-persistence.jar、hibernate-commons-annotations.jar hibernate针对JPA的实现包(下载路径:/ ,点击Hibernate Entitymanager右边下载)hibernate-entitymanager.jarlib\test\log4j.jar、 slf4j-log4j12.jarspring安装包下的dist\spring.jarlib\c3p0\c3p0-0.9.1.2.jarlib\aspecti\aspectjweaver.jaraspectjrt.jarlib\colib\cglib-nodep-2.1_3.jarlib\j2ee\common-annotations.jarvlib\log4j\log4j-1.2.15.jarlib\jakarta-commons\commons_loggin.jar数据库驱动包引用创建mysql数据库ssh 设置编码为utf-8 语句:create database ssh character set 'utf8' collate 'utf8_general_ci'引用1.先整合spring和hibernate*将spring和hibernate的jar包放入lib下;*创建spring的beans.xml配置文件Java代码1.<?xml version="1.0" encoding="UTF-8"?>2.<beans xmlns="/schema/beans"3. xmlns:xsi="/2001/XMLSchema-instance"xmlns:context="/schema/context"4. xmlns:aop="/schema/aop"xmlns:tx="/schema/tx"5. xsi:schemaLocation="/schema/beans6./schema/beans/spring-beans-2.5.xsd7. /schema/context8./schema/context/spring-context-2.5.xsd 9. /schema/aop/schema/aop/spring-aop-2.5.xsd10. /schema/tx/schema/tx/spring-tx-2.5.xsd">11.12. <!-- 将bean交由spring管理可以用<bean></bean>和扫描加注 -->13. <!--14. 扫描该包及该包下的子包15. -->16. <context:component-scanbase-package="com.yss"></context:component-scan>17.18.19. <!-- 集成hibernate sessionFactory单例模式线程安全创建耗内存-->20. <!-- 将hibernate的事务也交由spring管理 -->21. <bean id="dataSource"class="boPooledDataSource"22. destroy-method="close">23. <property name="driverClass"value="org.gjt.mm.mysql.Driver" />24. <property name="jdbcUrl"25.value="jdbc:mysql://localhost:3306/ssh?useUnicode=true&amp;characterE ncoding=UTF-8" />26. <property name="user" value="root" />27. <property name="password" value="root" />28. <!--初始化时获取的连接数,取值应在minPoolSize与maxPoolSize 之间。

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

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】)。

Java Web程序设计教程第14章 Spring与Struts 2、Hibernate框架的整合基础

Java Web程序设计教程第14章  Spring与Struts 2、Hibernate框架的整合基础
第14章 Spring与Struts 2、 Hibernate框架的整合基础
14.1 Spring与Struts 2的整合方式
14.2 Spring与Hibernate的整合
14.1 Spring与Struts 2的整合方式
Struts 2应用的扩展方式 Spring插件的应用
返回
14.1.1 Struts 2应用的扩展方式(1)
<!-- 配置数据源--> <bean id="dataSource" class="boPooledDataSource" destroy-method="close"> <property name="driverClass" value="com.mysql.jdbc.Driver" /> <property name="jdbcUrl" value=" jdbc:mysql://localhost:3306/test " /> <property name="user" value="root" /> </bean>
Struts 2框架对其它框架提供了良好的支持,这主要是通过Struts 2框架中的插件实现的。Struts 2提供的插件其实就是一个JAR文 件,它以“Struts2-框架名-plugin-版本号.jar”这种方式命名,如 果想在应用程序中安装某个插件,只需将该JAR文件拷贝到 Web应用的classpath下即可。 若将插件的JAR文件解压缩以后会发现该文件下包含一个名为 struts-plugin.xml的XML文件,在struts-plugin.xml文件里可配置 自己想扩展的功能,包括:

原创Struts+Spring+hibernate框架整合步骤(多图)

原创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目录下,就可以部署启动了。

Struts2,Spring,Hibernate整合步骤及一个简单实例

Struts2,Spring,Hibernate整合步骤及一个简单实例

Struts2,Spring,Hibernate整合步骤(自己笔记)配步骤的例子一个:请参看:Struts2,Spring,Hibernate整合例子一个1.建立web项目2.在web.xml 配置 struts2,和 spring ,<!-- 配置Struts2 --><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.FilterDispatcher(struts的过滤器)</filter-class></filter><filter-mapping>(加载struts2)<filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- 配置Spring --><listener><listener-class>org.springframework.web.context.ContextLoaderListener(spring监听器)</listener-class></listener><!-- 查找spring配置文件 --><context-param>(程序从此处开始加载.xml 文件,并执行)<param-name>contextConfigLocation</param-name><param-value>classpath*:*.xml</param-value></context-param>3.在src根目录下创建struts.xml文件<include file="struts-default.xml"/>固定格式,用到此包4.在src根目录创建hibernate.cfg.xml文件<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN" "/hibernate-configura tion-3.0.dtd"><hibernate-configuration><session-factory><!-- 基本配置 --><property name="dialect">org.hibernate.dialect.Oracle9Dialect</property><property name="show_sql">false</property><property name="format_sql">true</property><propertyname="e_reflection_optimizer">true</property><property name="max_fetch_depth">2</property><property name="default_batch_fetch_size">8</property><property name="jdbc.batch_size">20</property></session-factory></hibernate-configuration>系统给的文件只需要拷贝,都是一些数据库库的基本配置5.在src根目录拷贝struts.properties文件struts.objectFactory = spring 该项是告诉系统用spring来控制hibernate和Actionstruts.action.extension=action 告诉系统访问时以什么结尾。

Maven项目整合Struts2框架

Maven项目整合Struts2框架

Maven项⽬整合Struts2框架-------------------------siwuxie095Maven 项⽬整合 Struts2 框架1、先创建 Maven 项⽬:maven-struts2注意:要勾选跳过原型选项或跳过⾻架选项2、创建完成,项⽬⽬录结构⼀览:3、在 pom.xml 中添加 struts2-core 的依赖<dependency><groupId>org.apache.struts</groupId><artifactId>struts2-core</artifactId>4、不难发现,除了⼿动添加的依赖 struts2-core,struts2-core 的依赖也⾃动添加进来了5、在src/main/java⽬录下创建 Action 类UserAction.java:package com.siwuxie095.action;import com.opensymphony.xwork2.ActionSupport;public class UserAction extends ActionSupport {public String add() {System.out.println("----- add -----");return"add";}}6、在src/main/resources⽬录下创建 Struts2 核⼼配置⽂件struts.xml:<?xml version="1.0"encoding="UTF-8"?><struts><package name="demo"extends="struts-default"namespace="/"><action name="user_*"class="erAction"method="{1}"><result name="add">/index.jsp</result></action></package></struts>7、在src/main/webapp⽬录下创建 JSP 页⾯index.jsp:<%@ page language="java"contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><html><head><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"><title>⾸页</title></head><body><h1>添加成功!</h1></body></html>8、此时,index.jsp ⽆法编译通过,向 pom.xml 中添加依赖 jsp-api <!--所以将依赖范围设置为 provided同时,servlet-api 是 jsp-api 的依赖,将⾃动添加进来其实,这⾥只添加 servlet-api 也是可以编译通过的综上,共有三种解决⽅法:(1)⼿动添加 jsp-api 依赖,servlet-api 因为是 jsp-api 的依赖,也将⾃动添加进来(2)⼿动添加 servlet-api 依赖(3)⼿动添加 jsp-api 和 servlet-api 依赖--><dependency><groupId>javax.servlet</groupId><artifactId>jsp-api</artifactId><version>2.0</version><scope>provided</scope></dependency>9、综上,该 Maven 项⽬的核⼼配置⽂件如下:pom.xml:<project xmlns="/POM/4.0.0"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation=<modelVersion>4.0.0</modelVersion><!-- 当前 Maven 项⽬的坐标信息 --><groupId>com.siwuxie095.maven</groupId><artifactId>maven-struts2</artifactId><version>0.0.1-SNAPSHOT</version><dependencies><!--只需要添加 struts2-core ⼀个依赖,struts2-core 的依赖就会⾃动添加进来--><dependency><groupId>org.apache.struts</groupId><artifactId>struts2-core</artifactId><version>2.3.33</version></dependency><!--创建的 JSP ⽂件需要 jsp-api 依赖才能编译通过,但因为 Tomcat 中已经有了该 jar 包,所以将依赖范围设置为 provided同时,servlet-api 是 jsp-api 的依赖,将⾃动添加进来其实,这⾥只添加 servlet-api 也是可以编译通过的综上,共有三种解决⽅法:(1)⼿动添加 jsp-api 依赖,servlet-api 因为是 jsp-api 的依赖,也将⾃动添加进来(2)⼿动添加 servlet-api 依赖(3)⼿动添加 jsp-api 和 servlet-api 依赖--><dependency><groupId>javax.servlet</groupId><artifactId>jsp-api</artifactId><version>2.0</version><scope>provided</scope></dependency></dependencies></project>10、最后,别忘了在部署描述⽂件中配置 Struts2 核⼼过滤器web.xml:<?xml version="1.0"encoding="UTF-8"?><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><!-- 配置 Struts2 核⼼过滤器 --><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping></web-app>11、访问路径【made by siwuxie095】。

struts2+spring+hibernate三大框架环境搭建小小总结

struts2+spring+hibernate三大框架环境搭建小小总结

struts2+spring+hibernate三大框架环境搭建小小总结:一、环境搭建导入各种jar包什么的就不多说了。

二、整个包结构及模式:1、src文件下,由panyname组成一个大的包结构和各项配置文件组成2、companyname下,分成两部分:A、model层B、功能层3、model层下,包含整个项目所要的数据库表名,按照功能来命名包的名称,A、功能包下包含对应的数据库表的java类,里面包含对应数据库表中所有的字段以及get,set方法B、功能包下包含对应的数据库表的hbm.xml类,里面包含对应数据库表中所有字段的定义4、功能层下,可以只有一个功能模块的一个结构,也可以有多个功能模块的包结构,再在包结构下细分到功能模块的结构A、一个完整的功能模块包下包含:action,dao,service层,1>、对应的action层包含对应功能实现的Action类;2>、对应的dao层包含对应功能实现的数据库操作类;3>、对应的service层包含对应功能实现的各service接口;5、各项配置文件:A、首先包含三个大的配置文件:applicationContext.xml,struts.xml,jdbc.propertiesB、applicationContext.xml实现依赖注入,struts.xml实现各响应功能的配置,jdbc.properties配置数据库相关属性三、页面1、所有的页面,js包都放到WebRoot目录下,2、要配置web.xml文件3、所有的jar包放到WebRoot-WEB-INF-lib包下四、功能操作1、定义好model层,配置好对应的model.hbm.xml映射文件2、将对应的model.hbm.xml映射文件映射到applicationContext.xml文件中3、页面中对应的跳转,实现action,到struts-function.xml去增加对应的Action类和方法4、将struts-function.xml映射文件映射到struts.xml映射文件中5、在功能层下建立对应的功能包,包下包含action,dao,service三个层6、根据struts-function.xml映射文件,建立对应的Action类,在类中创建对应的方法7、在service层和dao层下分别建立对应的接口层和实现接口类8、在对应的applicationContext-function.xml映射文件中将dao层方法映射到对应的service 层中9、service层中,包含iservice层和实现iservice层的service10、在service类中实现对应的iservice定义的方法,并return这个dao对象的方法,11、根据这个方法,在idao接口中创建对应的方法,在dao层的实现类中来具体实现方法的业务12、dao层实现之后,将在Action中调用对应的dao层实现的方法,然后保存结果返回到对应的界面去13、至此,简单的一个业务就实现了。

struts+spring+hibernate三个框架的整合

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+Spring+Hibernate框架整合总结详细教程

Struts2+Spring+Hibernate框架整合总结详细教程

Struts2+Spring+Hibernate框架整合总结详细教程⼀.SSH三⼤框架知识总结 Struts 2是Struts的下⼀代产品,是在 struts 1和WebWork的技术基础上进⾏了合并的全新的Struts 2。

其全新的Struts 2的与Struts 1的体系结构差别巨⼤。

Struts 2以WebWork为核⼼,采⽤的机制来处理⽤户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。

虽然从Struts 1到Struts 2有着太⼤的,但是相对于WebWork,Struts 2的变化很⼩。

⼀ Struts2⼯作原理 在Struts2框架中的处理⼤概分为以下⼏个步骤 1 客户端初始化⼀个指向Servlet容器(例如Tomcat)的请求 2 这个请求经过⼀系列的过滤器(Filter)(这些过滤器中有⼀个叫做ActionContextCleanUp的可选过滤器, 这个过滤器对于Struts2和其他框架的集成很有帮助,例 如:SiteMesh Plugin) 3 接着FilterDispatcher被调⽤,FilterDispatcher询问ActionMapper来决定这个请求是否需要调⽤某个Action 4 如果ActionMapper决定需要调⽤某个Action,FilterDispatcher把请求的处理交给ActionProxy 5 ActionProxy通过Configuration Manager询问框架的配置⽂件,找到需要调⽤的Action类 6 ActionProxy创建⼀个ActionInvocation的实例。

7 ActionInvocation实例使⽤命名模式来调⽤,在调⽤Action的过程前后,涉及到相关拦截器(Intercepter)的调⽤。

8 ⼀旦Action执⾏完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。

ch12 Spring、Struts2、Hibernate整合

ch12 Spring、Struts2、Hibernate整合

如果系统采用Spring框架。Spring负责业务逻辑组件的创建 和生成,并可管理业务逻辑组件的生命周期。可以如此理解: Spring是个性能非常优秀的工厂,可以生产出所有的实例,从 业务逻辑组件,到持久层组件,甚至控制器。 控制器如何访问到Spring容器中的业务逻辑组件?为了让Action 访问Spring的业务逻辑组件,有两种策略: 1、Spring管理控制器,并利用依赖注入为控制器注入业务逻辑 组件。 2、控制器定位Spring工厂,也就是Spring的容器,从Spring容 器中取得所需的业务逻辑组件。 对于这两种策略,Spring与Struts2都提供了对应的整合实现。 Struts 2框架整合Spring很简单,整合的步骤参见课本。

Spring有3个作用:
◦ 允许Spring创建Action、Interceptor和Result ◦ 由Struts创建的对象能够被Spring装配 ◦ 如果没有使用Spring ObjectFactory,提供了两个拦截器 来自动装配action
SS2H三者整合代码比较多,初学者做起来很繁,其实如果理 解为什么要整合、整合所需要的包以及根据书中的配置文件模 板也不是很难。以后项目中就使用该配置文件模板。 整合基本步骤描述如下: 1、先向项目中加入Hibernate3.2+Spring2.支持,删除 hibernate.cfg.xml文件,修改applicationContext.xml文件的内容, 增加SessionFactory和dataSource的设置。 2、通过MyEclipse的向导方式,生成POJO类和对应的映射文件。 3、修改applicationContext.xml文件中<property name="mappingResources">元素的内容。 4、编写DAO接口和实现类。 5、修改applicationContext.xml文件,增加对Dao实现类的配置。

使用Maven搭建Struts2+Spring3+Hibernate4的整合开发环境

使用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框架的整合

第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()。

Struts2、Hibernate和Spring整合应用

Struts2、Hibernate和Spring整合应用

8
6.3 添加Spring开发
₪ 在添加Spring开发能力之前先介绍如何自定义User Labraries。右击项目名xscjManage,选择【Build Path】 →【Configure Build Path】菜单项,出现如图6.2所示的 对话框。
图6.2 Properties for xscjManage对话框
17
6.4 实现Hibernate持久层
₪ Kcb.java文件代码如下:
private String kch; private String kcm; private Short kxxq; private Short xs; private int xf; …… //课程号 //课程名 //开学学期 //学时 //学分
₪ Kcb.hbm.xml
<hibernate-mapping> <class name="org.model.Kcb" table="KCB" schema="dbo" catalog="XSCJ"> <id name="kch" type="ng.String"> <column name="KCH" length="4" /> <generator class="assigned" /> </id> <property name="kcm" type="ng.String"> <column name="KCM" length="16" /> </property> <property name="kxxq" type="ng.Short"> <column name="KXXQ" /> </property> <property name="xs" type="ng.Short"> <column name="XS" /> </property> <property name="xf" type="ng.Integer"> <column name="XF" /> </property> </class> </hibernate-mapping>
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Struts2+Spring3+Hibernate4+Maven整合目录1.建立Maven工程2.搭建Spring33.搭建Struts2并整合Spring34.搭建Hibernate4并整合Spring3内容1.建立Maven工程第一步:第二步:第三步:第四步:注意:这里的JDK要选择默认的,这样别人在使用的时候,如何JDk不一致的话也不会出错,如下图所示:第五步:Maven标准目录src/main/javasrc/main/resourcessrc/test/javasrc/test/resources第六步:发布项目:Maven install清除编译过的项目:Maven cleanOK,Mean 工程创建成功!2. 搭建 Spring3(1)下载Spring3需要的jar包1.spring-core2.spring-context3.spring-jdbc4.spring-beans5.spring-web6.spring-expression7.spring-orm在pom.xml中编写Spring3需要的包,maven会自动下载这些包。

<!-- spring3 --><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>3.1.2.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>3.1.2.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>3.1.2.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>3.1.2.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>3.1.2.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-expression</artifactId><version>3.1.2.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-orm</artifactId><version>3.1.2.RELEASE</version></dependency>(2)编写Spring配置文件<?xml version="1.0"encoding="UTF-8"?><beans xmlns="/schema/beans" xmlns:xsi="/2001/XMLSchema-instance"xmlns:context="/schema/context"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-3.0.xsd /schema/context/schema/context/spring-context-3.0.xsd "><!-- 引入属性文件 --><context:property-placeholderlocation="classpath:config.properties"/><!-- 自动扫描dao和service包(自动注入) --><context:component-scan base-package="com.zc.dao,com.zc.service" /></beans>(3)编写测试首先,在src/main/java中创建com.zc.service包,在包中编写一个UserService 接口,代码如下:package com.zc.service;/*** 测试* @author ZC* */public interface UserService {public void test();}然后,在src/main/java中创建com.zc.service.imple包,在包中编写UserServiceImple 实现类,代码如下:package com.zc.service.impl;import org.springframework.stereotype.Service;import erService;@Service("userService")public class UserServiceImpl implements UserService {@Overridepublic void test() {System.out.println("Hello World!");}}注意:@Service("userService")使用junit注解完成service 注入,所以还要在pom.xml中配置junit注解。

<!-- junit --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.10</version><scope>test</scope></dependency><scope>test</scope>这里的test表示测试时编译src/main/test文件夹中的文件,等发布的时候不编译。

最后,在src/main/test中创建com.zc.test包,在包中编写TestSpring类,代码如下:package com.zc.test;import org.junit.Test;import org.springframework.context.ApplicationContext;importorg.springframework.context.support.ClassPathXmlApplicationContext; import erService;/*** 测试Spring3* */public class TestSpring {@Testpublic void test() {ApplicationContext ac = newClassPathXmlApplicationContext("classpath:spring/*");UserService userService = (UserService)ac.getBean("userService");userService.test();}}JUnit Test运行,结果如图所示:(4) 在web.xml 中配置Spring 监听器<!-- Spring监听器 --><listener><listener-class>org.springframework.web.context.ContextLoa derListener</listener-class></listener><!-- Spring配置文件位置 --><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring/*</param-value> </context-param>(5) 测试,先Maven install,然后放入tomcat服务器,最后启动。

输入地址访问OK,Spring3搭建成功!3.搭建Struts2并整合Spring3(1)下载Struts2所需要的jar包1.strtus2-core2.struts2-spring-plugin3.struts2-convention-plugin在pom.xml中编写Spring3需要的包,maven会自动下载这些包。

<!-- struts2 --><dependency><groupId>org.apache.struts</groupId><artifactId>struts2-core</artifactId><version>2.3.4.1</version><!--<exclusions><exclusion><groupId>javassist</groupId><artifactId>javassist</artifactId></exclusion></exclusions>--></dependency><dependency><groupId>org.apache.struts</groupId><artifactId>struts2-spring-plugin</artifactId><version>2.3.4.1</version></dependency><dependency><groupId>org.apache.struts</groupId><artifactId>struts2-convention-plugin</artifactId><version>2.3.4.1</version></dependency><!-- hibernate4 --><dependency><groupId>org.hibernate</groupId><artifactId>hibernate-core</artifactId><version>4.1.7.Final</version><exclusions><exclusion><groupId>javassist</groupId><artifactId>javassist</artifactId></exclusion></exclusions></dependency><exclusions><exclusion><groupId>javassist</groupId><artifactId>javassist</artifactId></exclusion></exclusions>这里的exclusions 是排除包,因为Struts2中有javassist,Hibernate 中也有javassist,所以如果要整合Hibernate,一定要排除掉Struts2中的javassist,否则就冲突了。

相关文档
最新文档