J2EESSH框架实验报告.docx
- 文档编号:11672147
- 上传时间:2023-03-30
- 格式:DOCX
- 页数:27
- 大小:3.59MB
J2EESSH框架实验报告.docx
《J2EESSH框架实验报告.docx》由会员分享,可在线阅读,更多相关《J2EESSH框架实验报告.docx(27页珍藏版)》请在冰豆网上搜索。
J2EESSH框架实验报告
软件学院综合性实验报告
专业:
JAVA年级/班级:
2011计算机1班2012—2013学年第二学期
课程名称
JavaEE程序设计
指导教师
姓名
学号
实验地点
实验时间
6月1、8、15日
上午3-4节
项目名称
SSH框架集成应用
实验类型
综合性
一、实验目的
1.SSH为struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。
因此希望通过本次实验充分了解SHH框架集成应用的设计理念和具体步骤;
2.通过翻阅课本,查阅资料,培养一个程序员应有的信息搜索能力已经借助其他工具解决问题的能力;
3.真正掌握三个框架的精髓,更好地应用与以后的学习工作中去。
二、实验仪器或设备
MyEclipse6.5
Tomcat5.5.26
MySQL5.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文件夹。
然后Finsh
3.配置数据源
在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和Spring
Struts和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中的属性configLocaltion中的classpassth找到hibernate的xml。
他们三的集成在代码上的体现其实就是将他们的三个核心配置文件进行合并然后就完事了。
正如我们所知,SSH为struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。
我希望通过这次的设计能够大体掌握SSH三个框架的设计流程,然后在今后的学习生活中不断练习,熟练掌握对三个框架的应用,更好地结合其他方面的知识,丰富自己的专业知识技能。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- J2EESSH 框架 实验 报告