SSH成功整合+Oracle数据库.doc_第1页
SSH成功整合+Oracle数据库.doc_第2页
SSH成功整合+Oracle数据库.doc_第3页
SSH成功整合+Oracle数据库.doc_第4页
SSH成功整合+Oracle数据库.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MyEclipse8.5的SSH整合Version 1.02012-04-241. 编写目的最近在学习struts1.2+spring2.0+hibernate3.1的整合。在整合的过程中遇到过各种各样的问题,在网上找了很多相关的实例但都有不同程度的问题,经过我多次的研究现整理出一份安装文档,为了让初学者少走弯路,特写下了这篇文档,希望对大家有所帮助。2. 准备环境MyEclipse 8.5Tomcat6.0ORACLE10GJDK6.0需要指出的是,各个软件的版本号并不一定需要和上面列出的相同。但是,由于我在实验的过程中是由上述各版本系统搭建的,因此不能确保其它版本的软件是不是能够正常运行,但基于上面的环境还是能够运行成功的。另外由于MyEclipse 中已经附带了 SSH 所需要的各种库文件,所以我们一般不再需要另外的准备。3. 数据库操作在ORACLE 数据库中新建TEST用户,并创建下表添加相应的记录。4.创建WEB工程打开MyEclipse,新建 一个Web Project,输入适当的工程名,这里我就输入myssh,修改Context root URL为myssh。这个URL是使用MyEclipse部署时,浏览器访问站点时的根路径。如果你的工程名中包含空格,那么这个URL必须修改为没有空格的地址。J2EE Specification Level选择Java EE 5.0,最后Finish。新建的Web Project项目的目录结构如下所示:5.添加Struts支持在刚刚创建的myssh工程上面右击,在弹出的菜单中选择MyEclipse-Add Struts Capabilities,添加Struts,具体操作如下:在弹出的对话框中选择Struts1.2,修改Base package for new classes成所需的包名,其余操持原状,Finish即可。操作如下:此时已完成Struts的配置,相关的文件添加如下,目录结构为:6.添加Spring支持在myssh工程上右击,在弹出的菜单中选择MyEclipse-Add Spring Capabilities,添加Spring的支持。操作如下:在弹出的对话框中选择Spring 2.0,选择MyEclipse Libraries,按照图示选择相关的库。由于Spring采取最小化库发布的方式,使得Spring的库文件彼此都是分离的,因而我们需要自己选择需要的库。这里,AOP需要在添加Hibernate的事务处理时使用,Core是Spring的核心库,Persistence core和Persistence JDBC库作为Spring持久化的支持,Web允许Spring和Struts整合,其余保持原状,点击Next。操作如下:接着上面示显示的: 这里添加 Spring 的配置文件,可以将 Folder 更改为 Web-Root/WEB-INF 目录。这是为 struts 整合准备的。其实,Spring 的配置文件可以放在 WEB-INF 的任意目录中,具体的位置都需要在 web.xml 中进行配置。这里仅仅采用最简便的方法,将配置文件放到 WEB-INF 下面。然后 Finish 即可。 操作如下:此时已完成Spring的配置,目录结构如下:7.配置数据源在MyEclipse中选择“Windows”菜单-“Open perspective”-“MyEclipse Database Explorer”在左侧的DB Browse点击右键,选择New,打开Database Driver对话框。操作如下:在Database Driver对话框中按照如下配置选择数据库驱动。首先选择Driver Template ,在这里我们选择ORACLE(Thin Driver)。Driver Name是以后配置时使用的驱动名,用以区分驱动,这里使用ORACLE(Thin Driver)即可。然后根据实际情况填写URL , User name 和Password。点击Add JARS添加数据库驱动文件(在此ORACLE数据库的驱动文件可以用classes12.jar,如果没有可以网上随便下一个)。为方便配置,可以选择Save password保存密码。配置完毕后Finish即可。操作如下:此时左侧的DB Browse里面会出现myssh,这个名字就是刚刚配置的Driver name。点击 open connection按钮,在确认ORACLE服务已经启动的情况下,可以在 MyEclipse里面建立与ORACLE的连接。如果能够建立 连接,说明驱动添加成功,否则请检查驱动是否正确,或者 ORACLE服务有没有正常运行。添加驱动成功,如下:8.添加Hibernate支持当配置完数据源后,就可以添加 Hibernate 支持了。切换到 MyEclipse Java Enterprise 视图,在 SSH 工程上面右击,在弹出的菜单中选择 MyEclipse - Add Hibernate Capabilities,添加 Hibernate 的支持。 操作如下:1) 选择Hibernate3.1,全部按照默认设置即可,然后点击Next;2) 在对话框中选择 Spring configuration file,表示我们希望将 Hibernate 托管给 Spring 进行管理。这是将 Hibernate 与 Spring 进行整合的基础。然后点击 Next;3)在出现的对话框中选择 Existing Spring configuration file。因为我们已经添加了 Spring 的配置文件,所以这里选择的是已存在的配置文件。 MyEclipse 会自动找到存在的那个文件。然后在 SessionFactory ID 中输入 Hibernate 的 SessionFactory 在 Spring 配置文件中的Bean ID的名字,这里我们输入 sessionFactory 即可。然后点击 Next;4)在出现的对话框中的Bean Id里面输入数据源在Spring中的 BeanID 的名字,这里我们输入dataSource。然后在 DB Driver 里面选择我们刚刚配置好的 myssh,MyEclipse 会将其余的信息自动 填写到表格里面。然后点击 Next; 5)在出现的对话框中取消Create SessionFactory class。点击Finish即可。此时Hibernate的支持已经添加完毕。MyEclipse会自动打开Spring的配置文件。我们可以看一下 MyEclipse 在 Spring 的配置文件中为我们完成了什么配置。首先有一个 ID 为 dataSource 的 Bean,这就是我们配置的数据源;然后有一个 ID 为 sessionFactory 的 Bean,这是由 Spring 管理的 Hibernate 的 Session Factory。MyEclipse 会自动为 Hibernate 添加数据库方言为 MySQLDialect。10.添加Hibernate反向工程至此我们已经完成了 SSH 的添加,但现在只是将所有需要的文件放到了一起,并没有完成所有的配置。 现在我们要完成的是 Hibernate 的反向工程。我们知道,Hibernate 提供了 ORM(Object Relation Mapping)机制,即将关系型数据库映射为面向对象的实现。现在要做的是将数据库的表格映射为对象,这里会有大量的配置文档,但 MyEclipse 可以很方便的完成这些工作。首先切换到 MyEclipse DataBase Explorer 视图,在需要使用的数据表格上面点击右键,选择 Hibernate Reverse Engineering.。这里我们使用刚刚建立的 myssh 数据库中的myuser 表。 右击”MYUSER”在打开的对话框中修改 Java src folder 为我们建立的/myssh/src,这里需要选择到 src 文件夹,并且需要填写 Java package,这是 MyEclipse 生成的类所在的包,我们将其取名为 obj。然后选择 Java Data Object,建立POJO 类。然后选择 Java Data Access Object。其中,POJO 类是数据库表格所对应的 Java 类,JDO 类是 MyEclipse 自动生成的对数据库的一些操作。这里会封装一些常用的操作,简化我们的编写。填写完成后点击 Next。 在出现的对话框中选择ID Generator,然后点击Finish即可。此时 SSH 项目的目录结构如下所示。其中的 myuser.Java 是MyEclipse 生成的 POJO 类,是使用面向对象的Java 语言对数据库表格进行的抽象 POJO 类的属性进行映射的定义,UserDAO.java 封装了一些 MyEclipse 自动生成的对数据库的操作。目录结构如下:10.修改目录结构这时我们修改一下文件目录,使之更好的组织。我们看到 MyEclipse 将生成的 POJO 类和 DAO 类混杂在一起,这是不符合业务层次的,所以我们建立一个 dao 包,将 DAO 类与 POJO 类分开。然后我们在 struts包下面建立 action 和 form 包,用来管理 Struts 的Action 和 Form。实际上,我们应该按照业务逻辑将 Action和 Form 分开管理,而不是放在一个 struts 包下面,但这里我们仅仅实现一个登录等简单功能,并没有十分复杂的业务逻辑,所以我们并不将它们进一步分离,但实际工程中是应该这么做的。为了将实现与接口进 行解耦,我们建议在 dao 包下面添加接口,然后建立 dao.impl 包,将实际的 DAO 类放在这里。DAO 类是直接与数据库打交道的类,为了对业务逻辑进行封装,我们将业务全部写在 service 类里面,和 dao 一样,我们先建立 service 包,里面添加业务接口,具体的实现放在 service.impl 里面。目录组织示意图修改目录的具体步骤:1) 新建包com.dao和com.dao.impl2) 打开com.ssh.user包并复制MyuserDAO.java到com.dao.impl包下,然后删除com.ssh.user包下的MyuserDAO.java。(注意:在此会报错!第一处则是com.dao.impl包下的错误,在此的错误原因是“MyuserDAO.java移动了位置,与所需的Myuser.java不在同一个包下,在此只需要引入Myuser.java所在的包com.ssh.user即可” ,第二处错误是applicationContext.xml中的错误,错误原因也是由于MyuserDAO.java移动位置所产生的。在此需要进入applicationContext.xml文件,可以看出现在的MyuserDAO.java已经不在com.ssh.user.MyuserDAO包下了,所以修改的办法也很简单,直接把下面画横线的地方改为MyuserDAO.java现在所在的包即可。修改后如:然后保存即可,看看现在的目录结构:)3) 在com.dao包下新建接口IMyuserDAO.java。方法有两种,我们可以手工添加,但是MyEclipse为我们提供了更方便的方法。具体操作是打开com.dao.impl.MyuserDAO,点击右键,选择Refactor-Extract Interface。在弹出的对话框里填写接口名字为IMyuserDAO,然后按照需要选择,这里我们按照下图只选择几项就可以了:创建的接口位于com.dao.impl下面,现将其移动到com.dao包下面即可。(注意:1、把IMyuserDAO.java移动后com.dao.impl中的MyuserDAO.java会报错,在此很简单,因为MyuserDAO.java实现了IMyuserDAO.java,而这里IMyuserDAO.java又被移走了,当然要报错了,解决办法是引入com.dao包即可。2、在此需要修改两个地方,首先打开com.dao包下的IMyuserDAO.java,修改findById方法的参数类型使其为:,然后打开com.dao.impl包下的MyuserDAO.java,修改findById方法的参数类型使其为:)目录结构如下:3) 新建com.service包,并建立接口IMuserService,具体代码如下:4) 新建com.service.impl包,并建立MyuserService类,实现IMyuserService接口:此时的目录结构是:5) 整合Struts和SpringStruts和Spring整合的核心是让Struts能够访问到交给Spring进行托管的类,这个我在网上看到一个方式,自我认为很好,因此只要我们可以让Struts从Spring获得需要的类就可以了,为了达到这个目标,我们创建

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论