




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
word格式PAGE....软件学院综合性实验报告专业:年级/班级:学年第二学期课程名称JavaEE程序设计指导教师姓名学号实验地点实验时间6月1、8、15日上午3-4节项目名称SSH框架集成应用实验类型综合性实验目的1.SSH为struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。因此希望通过本次实验充分了解SHH框架集成应用的设计理念和具体步骤;2.通过翻阅课本,查阅资料,培养一个程序员应有的信息搜索能力已经借助其他工具解决问题的能力;3.真正掌握三个框架的精髓,更好地应用与以后的学习工作中去。实验仪器或设备MyEclipse6.5Tomcat5.5.26MySQL5.0数据库脚本程序CREATETABLEuser(idint(11)NOTNULLauto_increment,usernamevarchar(50)defaultNULL,passwordvarchar(50)defaultNULL,PRIMARYKEY(id));INSERTINTOuserVALUES('1','admin','admin');总体设计(设计原理、设计方案及流程等)1.创建工程打开MyEclipse,需要注意的是这里应该处于MyEclipseJavaEnterprise视图。新建一个WebProject,输入适当的工程名字,这里我们输入ssh,Finish即可。确定之后MyEclipse会生成名为SSH的项目,其中生成的目录结构如下所示:实验步骤(包括主要步骤、代码分析等)1.添加Struts1.2框架支持在ssh工程上面右击,在弹出的菜单中选择MyEclipse->AddStrutsCapabilities…添加Struts的支持。在弹出的对话框中选择Struts1.2,修改Basepackagefornewclasses成所需的包名其余保持原状,Finish即可。完成后的结构为2.添加Spring2.0框架支持在ssh工程上面右击,在弹出的菜单中选择MyEclipse->AddSpringCapabilities…添加Spring框架支持。由于Spring采取最小化库发布的方式,使得Spring的库文件彼此都是分离的。因而我们需要自己选择需要的库,需要引用的如下图:选择好后Next,在窗口中选择Browse,选择ssh工程下面的WEB-INF文件夹。然后Finsh3.配置数据源在MyEclipse右上角选择MyEclipseDatabaseExplorer,打开数据库管理视图。在左侧的DBBrowser点击右键,选择New…打开DatabaseDriver对话框。在DatabaseDriver对话框中按照如下配置选择数据库驱动。首先选择DriverTemplate。在这里我们选择MySQL。DriverName是以后配置时使用的驱动名字,用以区分驱动。这里使用MySQL即可。然后根据实际情况填写URL,Username和Password。点击AddJARs添加数据库驱动文件。为方便配置,可以选择Savepassword保存密码。配置完毕后Finish即可。4.Spring与Hibernate的整合当配置完数据源后,就可以添加Hibernate支持了。切换到MyEclipseJavaEnterprise视图,在ssh工程上面右击。在弹出的菜单中选择MyEclipse->AddHibernateCapabilities,添加Hibernate的支持。我们选择Hibernate3.2,全部按照默认设置即可,然后点击Next在对话框中选择Springconfigurationfile,表示我们希望将Hibernate托管给Spring进行管理,这是将Hibernate与Spring进行整合的基础。然后点击Next在出现的对话框中选择ExistingSpringconfigurationfile。因为我们已经添加了Spring的配置文件,所以这里选择的是已存在的配置文件。MyEclipse会自动找到存在的那个文件。然后在SessionFactoryID中输入Hibernate的SessionFactory在Spring配置文件中的BeanID的名字,这里我们输入sessionFactory即可。然后点击Next在出现的对话框中的BeanId里面输入数据源在Spring中的BeanID的名字,这里我们输入dataSource。然后在DBDriver里面选择我们刚刚配置好的ssh,MyEclipse会将其余的信息自动填写到表格里面。然后点击Next在出现的对话框中取消CreateSessionFactoryclass。点击Finish即可。此时MyEclipse会自动打开Spring的配置文件,文件内容为:此时,切换到MyEclipseDataBaseExplorer视图,右键打开数据库连接,在需要使用的数据表格上面点击右键,选择HibernateReverseEngineering。这里我们使用刚刚建立在test数据库中添加的user表。在打开的对话框中修改Javasrcfolder为我们建立的/ssh/src,这里需要选择到src文件夹,并且需要填写Javapackage,这是MyEclipse生成的类所在的包,我们将其取名为user。然后选择JavaDataObject,建立POJO类。然后选择JavaDataAccessObject。其中,POJO类是数据库表格所对应的Java类。JDO类是MyEclipse自动生成的对数据库的一些操作。这里会封装一些常用的操作,简化我们的编写。填写完成后点击Next。在出现的对话框中选择IDGenerator为native,然后点击Finish即可。此时ssh项目的目录结构如下所示。其中的User.Java是MyEclipse生成的使用面向对象的Java语言对数据库表格进行的抽象,User.hbm.xml是将数据库表格中的字段和POJO类的属性进行映射的定义,UserDAO.java封装了一些MyEclipse自动生成的对数据库的操作。这时我们修改一下文件目录,使之更好的组织。我们建立一个dao包,将DAO类与POJO类分开。然后我们在struts包下面建立action和form包,用来管理Struts的Action和Form。为了将实现与接口进行解耦。我们建议在dao包下面添加接口,然后建立dao.impl包,将实际的DAO类放在这里。DAO类是直接与数据库打交道的类,为了对业务逻辑进行封装,我们将业务全部写在service类里面,和dao一样,我们先建立service包,里面添加业务接口,具体的实现放在service.impl里面。将UserDAO.java移动到dao的impl包下面,并在dao包下建立接口IUserDAO内容为:在service中建立接口IUserService.java,在service中impl中建立UserService.java此时的整体工程结构为:此时的applicationContext内容需要配置bean内容为:5.整合Struts和SpringStruts和Spring整合方式其核心是让Struts能够访问到交给Spring进行托管的类,这个我在网上看到了一个方式,自我认为很好,因此只要我们可以让Struts从Spring获得需要的类就可以了。为了达到这个目标,我们创建一个类BaseAction为了让Web容器能够初始化Spring,我们需要修改web.xml文件,增加以下内容6.测试通过上面的配置,我们已经能够让这三个框架来协同作战了,让我们现在来测试一下。首先创建基于Struts的JSP页面。打开WEB-INF下面的struts-config.xml,单击右键,选择New->Form,ActionandJSP。在弹出的对话框中添加Usercase,然后点击Add生成Properties代码。这会由MyEclipse自动生成相应的Form代码。输入完成后选择JSP选项卡,选上CreateJSPform,修改路径,然后点击Next。在出现的对话框中修改Path,将Superclass更改为前面定义的BaseAction,然后将InputSource修改为自己需要的路径。完成后Finish即可。然后在struts-config.xml点击右键,选择New->Forward,准备创建一个ActionForward。在弹出的对话框中,选择LocalActionForward,通过Browser填写ActionPath,然后填写Name和Path,完成后点击Finish即可。在LoginAction中添加如下代码login.jsp内容Ok,这时我们可以启动Tomcat进行查看页面了7.异常处理上面的工作完成以后理论上应该可用,但是当你运行的事后却发现会有一个非常诡异的异常出现这个问题本来面目是这样,由于MyEclipse给我们做的事情太全面了,全面到spring和hibernate的包都是重复引用的。其解决办法就是干掉多余的包,在Tomcat5.5\webapps\ssh\WEB-INF\lib下的asm-2.2.3.jar就可以了,在重启Tomcat我们看看我们干了这么长时间的成果吧真令人失望又失败了……有如下异常。忘了加入bean的初始化,在applicationContext.xml中加入如下内容就可以了历经千难万阻,我们终于看到了一个想看的巨破巨简陋的界面,就到这里吧,估计大家要疯了。五、结果分析与总结好了这就是我这位菜鸟完整记录的myeclipse搭建SSH详细讲解了,中间肯定会出现解释错误,我也会要更加深入地学习。三个框架学完了,集成也搞定了,下面就来做下总结。想了好几天了对于ssh框架总觉的还是有什么地方不太对头。这三个框架对我来说,感觉最感兴趣的还是spring,有时间一定研究下spring的AOP和IOC,相信随着不断实践能够更加清楚的认识其中的奥妙,并能有更加正确的认识。简单说下就是:
*struts找spring就是在struts核心xml中配一个plugin作为连接去找spring的xml
*spring则是在自己xml中配置sessonFactory中的属
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 劳务保证合同范本
- 乡村自建房屋买卖合同范本
- 个人楼房出租合同范本
- 《福楼拜家的星期天》教学反思
- 卖矿中介合同范例
- 出售进口吊车合同范本
- 井盖经销合同范本
- 单纯汽车租赁合同范本
- 防水维修合同范本 标准
- 切石墙抹灰合同范本
- 第二章 疾病概论课件
- 高压发电机细分市场深度研究报告
- 新闻采访与写作课件第十五章其他报道样式的写作
- 小学语文单元整体作业设计案例(五年级下册第六单元)
- 解读 国家数据局首批20个“数据要素x”典型案例-31正式版-WN8
- 《跨境直播运营》课件-跨境直播的意义和要素
- 3 学会反思(教学设计)部编版道德与法治六年级下册
- 第一单元 歌唱祖国-《 中华人民共和国国歌》课件 2023-2024学年人音版初中音乐七年级上册
- 2024-2030年中国肾性贫血疗法行业市场发展趋势与前景展望战略分析报告
- DL∕T 1281-2013 燃煤电厂固体废物贮存处置场污染控制技术规范
- 办公家具采购项目质量保证售后服务承诺书
评论
0/150
提交评论