ssh整合详细配置步骤
- 格式:doc
- 大小:4.26 MB
- 文档页数:21
本次教程是SSH2的环境搭建,主要用到的技术是struts2.0+hibernate3.2+spring2.0,这种架构在现在很流行的,也是很多高校学生做毕业设计的架构,今天我们就用这种架构做一个简单的实例,详细的步骤,在于抛砖引玉,给大家一点启发。
一、创建数据库的时候会创建出联合主键<Composite-id>。
二、项目创建1、打开MyEclipse,点击File,指向New,点击Web Project。
2、输入工程名SSH,J2EE Specification Level为Java EE 5.0,点Finish即可创建完项目。
三、添加hibernate环境1、右击刚建立的SSH项目,指向MyEclipse,点击Add Hibernate Capabilities。
2、出现如下对话框之后,选择要用到的Hibernate3.2,以及所用到的包,选择Copy checked Library Jars to project folder and add to build-path,点击Next。
3、到了这一步,按默认设置,点击Next。
4、取消Specify database connection details的选择,再点击Next。
5、取消Create SessionFactory class选择,最后点击Finish。
这样一些有关hibernate的jar包点导进来了,以及建了一个hibernate.cfg.xml文件。
导入前:导入后:四、添加spring环境1、和添加hibernate环境的方法大致相同,右击SSH项目,指向MyEclipse,点击Add spring Capabilities。
2、选择要用到的Spring 2.0,勾选用到的库,注意还要勾选Spring 2.0 Web Libraries的库,一共是勾选了5个库的。
再选择Copy checked Library contents to project folder(TLDs always copied),点击Next。
SSH配置步骤1安装JDK(1)在“ssh培训”文件夹中找到“JDK1.6.exe”应用程序,如图:双击其进行JDK的安装;而后出现下面的安装界面接下来就是接收、下一步等无聊操作,具体的安装目录选择默认即可。
点“完成”,结束安装操作。
(2)配置环境变量:右键单击“我的电脑”点“高级”,然后点“环境变量”,接下来在“系统变量(S)”中找到“path”,点“编辑”,而后在“变量值”一栏中将jdk的bin文件夹的地址复制进去(若测试的时候不成功,则只需在我们所复制的地址前面加“;”即可)。
(3)我们的环境配置操作是否成功需要在dos中验证:打开命令提示符dos2安装MyEclipse并对其进行配置(1)首先,找到如下图所示的MyEclipse6.0.1GAE3.3的应用程序,双击进入安装程序。
这里注意要将四个选项全部勾上这个安装过程等待时间比较长,耐心。
这里面最好选“NO”,因为我选“YES”试了一下,弹出了一个不知所云的网页。
点“Done”之后你就安装成功了。
安装成功后双击“MyEclipse”图标进入到MyEclipse 6.0.1界面,会出现让我们要注册的对话框(对话框后面的那个背景是欢迎界面,不用管)。
点enter subscription 进行注册这时我们就要找到如下图所示的那个提供序列码的东西“MyEclipseKeyGen.jar”,注意这个不是压缩文件,不需要解压,直接双击打开就好双击上面的文件就会出现如下界面:点“Generate”就会得到我们所需的注册序列号,如下:然后将上面的subscriber和subscription code 复制到注册框中即可。
3配置Jboss,JDK(1)首先打开“MyEclipse”出现如下界面,点“Window”——“Preferences..”如下所示:点“Preferences..”之后会出现如下界面,接着的操作按照图示一步一步做即可。
夹如下所示找到“jboss-his”文件夹之后点“Apply”,那么jboss就配置好了,接下来配置JDK,在左侧的树中,我们点开Jboss 4.X,可以找到JDk,出现如下界面同样的,我们点“Add”找到“jdk1.6.0”文件夹即可然后就“OK”。
ssh整合框架原理及流程SSH(Spring、Struts和Hibernate)框架整合的原理和流程如下:原理:1. 控制反转(IoC):IoC是一种设计原则,通过这种原则,对象之间的依赖关系由容器来控制,而非传统的直接操控。
这使得程序代码更加灵活,易于复用。
2. 依赖注入(DI):DI是IoC的一种实现方式。
通过DI,组件之间的依赖关系由容器在运行时决定,并动态地将这种关系注入到组件中。
流程:1. 建立web工程,并将其编码设置为UTF-8。
2. 将整个JSP页面也设置为UTF-8编码格式。
3. 建立三个source folder文件:src(存放源代码)、config(存放所有的配置文件,如Struts、Hibernate和Spring配置文件)、test(存放测试类)。
4. 在WebRoot\WEB-INF\lib中导入相应的jar包。
5. 配置文件。
在这个文件中,Spring容器以监听器的形式与Tomcat整合。
6. Struts负责控制Service(业务逻辑处理类),从而控制Service的生命周期。
这样层与层之间的依赖很强,属于耦合。
7. 使用Spring框架来控制Action对象(Struts中的)和Service类。
这使得两者之间的关系变得松散。
Spring的IoC机制(控制反转和依赖注入)正是用在此处。
8. Spring的AOP应用:事务的处理。
在以往的JDBCTemplate中,事务提交成功、异常处理都是通过Try/Catch来完成。
整合SSH框架的目的是提高软件开发的效率和灵活性,减少代码的冗余和复杂性,使代码更易于维护和扩展。
1. 加入Spring
1). 加入jar 包
2). 配置web.xml 文件
3). 加入Spring 的配置文件.
2. 加入Hibernate
1). 同时建立持久化类, 和其对应的.hbm.xml 文件, 生成对应的数据表
2). Spring 整合Hibernate
3). 步骤:
①. 加入jar 包
②. 在类路径下加入hibernate.cfg.xml 文件, 在其中配置hibernate 的基本属性
③. 建立持久化类, 和其对应的.hbm.xml 文件
④. 和Spring 进行整合
i. 加入c3p0 和MySQL 的驱动
ii. 在Spring 的配置文件中配置: 数据源, SessionFactory, 声明式事务
⑤. 启动项目, 会看到生成对应的数据表
3. 加入Struts2
1). 加入jar 包: 若有重复的jar 包, 则需要删除版本较低的. javassist-3.11.0.GA.jar
2). 在web.xml 文件中配置Struts2 的Filter
3). 加入Struts2 的配置文件
4). 整合Spring
①. 加入Struts2 的Spring 插件的jar 包
②. 在Spring 的配置文件中正常配置Action, 注意Action 的scope 为prototype
③. 在Struts2 的配置文件中配置Action 时, class 属性指向该Action 在IOC 中的id。
1:构建WEB项目2:构建数据库3:加入依赖包尽量不要依赖IDE,通过自己手动加包完成访问数据库需要的包:mysql的驱动包Hibernate的包:hibernate3.jar 核心包依赖的必须包:antlr-2.7.6.jar 用于解析成HQL语句的包commons-collections-3.1.jar apache提供的包,提供对集合框架的增强dom4j-1.6.1.jar 解析XML文件的包javassist-3.9.0.GA.jar 动态修改字节码需要用到的包jta-1.1.jar 用于JTA事务的包slf4j-api-1.5.8.jar 日志接口包---》依赖一定的实现包slf4j-log4j12-1.5.0.jar log4j.jar另外一种实现包:slf4j-simple-1.5.10.jar可选的包:c3p0-0.9.1.jar 用于创建C3P0连接池的包ehcache-1.2.3.jar :用于缓存实现的包cglib-2.2.jar 动态修改字节码的包Spring的包:spring.jar 核心包aopalliance.jar 使用Aop功能可以用到的包aspectjrt.jaraspectjweaver.jar 使用ASPECTJ表达式需要用到的包如果是使用DBCP连接池的话,需要两个jar包commons-dbcp.jar commons-pool.jar如果需要用到commons增加包的话,可以加入以下包commons-beanutils.jar commons-lang.jar commons-logging.jarStruts2的包:commons-fileupload-1.2.1.jar commons-io-1.3.2.jarfreemarker-2.3.13.jar :在Struts2 中默认使用的是FreeMarker模板引擎ognl-2.6.11.jar :Struts2中使用OGNL表达式struts2-core-2.1.6.jar 核心包xwork-2.1.2.jar 核心包struts2-spring-plugin-2.1.6.jar Struts2跟Spring整合需要的插件包4:构建项目分包结构5:放置配置文件6:创建POJO和相对应的hbm.xml7:修改空白的Hibernate.cfg..xml并创建表结构8:创建DAO,SERVICE,ACTION9:修改配置文件并且按照模块的分布进行applicationContext文件的配置Struts.xml。
开源项目终于,终于将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。
详细添加步骤如下图所示;<4> 配置数据源。
基于myeclipse 8.6M1 的三大框架整合(spring3.0+strut 2.1+hibernate 3.3+mysql)Xiangyun2019-4-9目录1、编写目的 (2)2、搭建环境 (2)3、配置数据源 (2)4、开始创建工程 (3)5、增加Spring框架: (3)6、增加Hibernate框架: (4)7、增加strut2 框架 (5)8、配置Web.xml (5)9、映射实体类 (5)10、编写service和action (6)11、在applicationContext.xml 配置service、action和配置 (7)12、创建index.jsp 和welcome.jsp (7)13、测试(此测试版本如下图) (7)14、总结 (7)1、编写目的最近在学习spring3.0+strut 2.1+hibernate 3.3整合,这期间出现了很多问题,在网上找了若干的实例均有不同程度的问题,为了让想要学习这个整合的人少走弯路,特写下这篇文章,希望对大家有所帮助,如果有很么问题可以与我联系,Email:237567685@qq测试版本代码地址:/detail/goumin1818/5241012(建议先按照此文档自己动手搭建以下,有需要再下载完整的例子)2、搭建环境Myeclipse 8.6M1Tomcat 6.0Mysql 5.2JDK 1.6数据库脚本程序CREATE TABLE `user` (`id` int(20) unsigned NOT NULL AUTO_INCREMENT,`username` varchar(50) DEFAULT NULL,`password` varchar(50) DEFAULT NULL,PRIMARY KEY (`id`)insert into `user`(`id`,`username`,`password`) values(1,'admin','admin'),(2,'zhangsan','zhangsan');3、配置数据源在myeclipse 右上角打开Myeclipse Database Explorer 数据库管理视图右键鼠标,弹出框,选择New 新建Database Driver如下图:在Driver Template 中选择:在Driver name :写上名字可以随便写(这里测试写的是:mysql )在Connection URL 填写好链接地址:jdbc:mysql://localhost:3306/text填好自己数据库用户名和密码增加mysql驱动jar包在Driver JARs 点击Add JARs 找到mysql驱动jar 包(此测试使用的驱动jar 包是:mysql-connector-java-5.1.5-bin.jar)需要填写的东西都填写好后,最后进行测试下,是否可以链接成功。
注释:使用MyEclipse高版本,创建Web Project自动回添加SSH jar包,并自动生成相关配置文件。
【1】SSH整合-基本环境配置开发环境:myeclipse6.0+tomcat6.0+struts2.0+hibernate3.1+spring2.0+MySQL5.0【1】新建工程项目,右键myeclipse->添加hibernate支持,注意要将相应的jar添加到web-inf文件夹下,防止以后转以后找不到相应的包文件,暂不配置hibernate的DB,使用spring进行管理【2】同样添加spring的支持,勾选spring中的web开发的jar包,spring会自动生成applicationContext.xml的配置文件,不创建sessionfactory,稍后自己创建【3】添加struts2的包,因myeclipse6.0中还没有集成了struts2的配置,因此需要自己添加到lib文件夹,在src下创建struts.xml文件,此为struts2必须的配置文件文件头如下所示:<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN""/dtds/struts-2.0.dtd">并在web.xml下配置struts2的过滤器声明使用<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>同时加入spring的配置信息<listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>此时可能发生spring和hibernate的冲突,因其导入了版本不同的包,具体的可通过搜索查询新建Mysql的数据库,将其编码设置为utf-8,以便兼容不同的语言,此后新建的jsp页面也以utf-8为基本编码至此,基本环境配置完毕,可将项目配置到tomcat中进行检测,正常启动说明配置成功。
Ssh
<1>先导入spring 导入5个包如下:
选择包的存放方式如下:
选中好包以后,点下一步
导入成功的项目结构,我们会发现有applicationContext.xml还有ref….Lib下面的包
1,先创建连接
2配置连接对象点下一步
3,选中第三个单选按钮,并且选中add按钮
4,回到项目开始导入hibb类库
5,选中2个类库,以及将类库拷贝到项目文件中,点下一步
6,hibb配置文件如何生成,选中第二个单选按钮,也就是将配置文件整合入spring,
7,按照截图配置(就是srping的配置文件我们已经生成,所有就用项目中的就可以了)
8,配置数据库连接,选中刚才我们配好的连接,点下一步
最后一步,点完成即可,这样hib就集成到工程中了
<1>
<2>
<3>选择包,点完成
<4>项目中的情况
这样三个框架就导入成功了,在下列开始具体代码嵌入一,创建hibb 实体类模板
1,
2,
3,
4,
5,点完成,这个里面如果不生成主外键关系,就把第一个钩去掉
6,在项目中就可以看到生成的实体了
7,配置序列
理方面的方法,如下面的getHibernateTemplate().sava();就是完成插入功能的
二,创建action 时注意,需要引入实体和业务逻辑层
三,
三在applicationContext.xml中配中配置业务逻辑,action,还有dao层就Ok了
名字
四,在web.xml中配置监听
如果想让配置成为:以下引用方式
可以这样配置HB的时候这样设置:
Hb Dao的生成
《1》原始方式:
选择第一个baseDao 然后New
结构如下:这种配置还是引用的以前的hb ,没用应用任何string2依赖注入
方法2:
选择spring Dao 点下一步就可以了
了
App.xml中生成了相应的依赖注入我们可以看到其实他还是依赖sessionFaction。