SSH框架实现的留言板.docx
- 文档编号:4814666
- 上传时间:2022-12-09
- 格式:DOCX
- 页数:31
- 大小:2.32MB
SSH框架实现的留言板.docx
《SSH框架实现的留言板.docx》由会员分享,可在线阅读,更多相关《SSH框架实现的留言板.docx(31页珍藏版)》请在冰豆网上搜索。
SSH框架实现的留言板
SSH框架实现的留言板
使用技术如下:
开发工具:
myeclipse6.5ga
数据库工具:
oracle10g(确定有class12.jar或带有oracle驱动的jar包)
开发技术:
Spring2.0,struts1.3,hibernate3.1,jsp
好了,进行SSH的开发。
第一步:
新建web项目(使用j2ee5.0),项目名称为guestbook2,如图:
(图一)
第二步:
为项目创建一个文件夹lib(用来将来存放相应的jar包,在添加相应的SSH支持后,要把lib里面的jar通过configurebuild-path—addjar的方式将其加入),如图:
(图二)
第三步:
为项目添加hibernate支持,如图:
(图三)
如下图,我们添加hibernate3.1的核心库而且采用:
copycheckedlibraryjarstoprojectfolderandaddtobuild-path的方式把包添加至我们刚刚新建的lib文件夹处。
完成后,点击”next”.
hibe
接着,他会询问是否创建hibernate的配置文件:
hibernate.cfg.xml,我们不需要发动,直接点”next”。
如下图,我们需要配置项目中要应用的数据库的配置信息:
在上图中,我使用了名为DBDriver为Linkoracle10g的连接方式(可使用myeclipse的myeclipsedatabaseexplorer方式来创建与oracle10g的连接),相应地,myeclipse会使项目具有与oracle数据库连接的能力了。
接着点”next”,会看见如下图:
默认是挑选了“createSessionFactoryclass”的,在这里,它想为我们创建一个sessionfactory的类,但我们不创建sessionfactory,因为我将来使用spring来完成这步操作,使用spring,可以帮助我们可以生成一个能获得hibernatesession对象的一个类。
点击”finish”完成的hibernate的支持。
第四步:
为项目添加Spring支持,如图:
在这里,我使用spring2.0的支持,把相应的四个选项选中:
第四个为:
而且,我们采用:
copycheckedlibraryjarstoprojectfolderandaddtobuild-path的方式把包添加至我们刚刚新建的lib文件夹处。
完成后,如图:
完成后,点击”next”.会看到如下图:
(Myeclipse会为我们创建spring的配置文件,我们确定创建)
点击”next”.进入下一步。
这时会看到,如图:
在上图中,他会创建一个能获得hibernatesession对象的一个sessionFactory类型的对象,他被设置在了application.xml文件中。
点击“finish”,完成Spring的支持了。
备注:
打开applicationContext.xml文件,源码如下:
xmlversion="1.0"encoding="UTF-8"?
>
//www.springframework.org/schema/beans" xmlns: xsi="http: //www.w3.org/2001/XMLSchema-instance" xsi: schemaLocation="http: //www.springframework.org/schema/beanshttp: //www.springframework.org/schema/beans/spring-beans-2.0.xsd"> class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> value="classpath: hibernate.cfg.xml"> 在这里,我们发现设置了一个id为sessionFactory类型的一个对象,他的类型是org.springframework.orm.hibernate3.LocalSessionFactoryBean,当中还有属性configLocation,value="classpath: hibernate.cfg.xml,这些配置信息呢。 实际上可以这样理解: 设定了一个id为sessionFactory类型的对象,它的类型是: org.springframework.orm.hibernate3.LocalSessionFactoryBean的,通过这个对象就能获取hibernate的session对象,进行完成对数据的添加、删除、修改的操作。 也就是说这个对象是spring帮我们提供的一个支持. 第五步: 增加了hibernate,spring的支持后,我们就可以开发持久层的这些类和接口了。 首先,我们的项目要用到了guestbook、admin两个表,所以要使用oracle来创建这两个表,表的创建的sql提供给大家,如下所示: createtableADMIN ( IDNUMBERnotnull, USERNAMEVARCHAR2(20), PASSWORDVARCHAR2(20) ) ; altertableADMIN addconstraintADMIN_PKprimarykey(ID); createtableGUESTBOOK ( IDNUMBERnotnull, NAMEVARCHAR2(40), EMAILVARCHAR2(60), URLVARCHAR2(60), TITLEVARCHAR2(200), CONTENTVARCHAR2(2000), TIMEVARCHAR2(40) ) ; altertableGUESTBOOK addconstraintGBOOK_PKprimarykey(ID); insertintoADMIN(ID,USERNAME,PASSWORD) values(1,'liuwei','123456'); commit; insertintoGUESTBOOK(ID,NAME,EMAIL,URL,TITLE,CONTENT,TIME) values(100026,'刘伟','liuwei8809@','','欢迎大家观看我的视频','感谢大家对我们的支持,请持续关注我们的网站。 更多内容,更多视频,尽在。 ','2007-16-1402: 12: 51'); insertintoGUESTBOOK(ID,NAME,EMAIL,URL,TITLE,CONTENT,TIME) values(1000072,'开发工具与软件',null,'','我们爱大家','开发工具与软件开发工具与软件开发工具与软件开发工具与软件,我们爱大家我们爱大家我们爱大家我们爱大家我们爱大家我们爱大家我们爱大家我们爱大家我们爱大家。 ','2007-42-2001: 12: 17'); insertintoGUESTBOOK(ID,NAME,EMAIL,URL,TITLE,CONTENT,TIME) values(1000074,'开发工具与软件','liuwei@','','我们爱大家','开发工具与软件开发工具与软件开发工具与软件开发工具与软件,我们爱大家我们爱大家我们爱大家我们爱大家我们爱大家我们爱大家我们爱大家我们爱大家我们爱大家。 ','2007-50-2002: 12: 52'); commit; 而且还应该在oracle10g中创建名为gb_seq的序列,sql语句为: --Altersequence altersequencegb_seq nominvalue nomaxvalue nocache; --Modifythelastnumber altersequencegb_seqincrementby-20nocache; selectgb_seq.nextvalfromdual; altersequencegb_seqincrementby1nocache; declare LastValueinteger; begin loop selectgb_seq.currvalintoLastValuefromdual; exitwhenLastValue>=100000-1; selectgb_seq.nextvalintoLastValuefromdual; endloop; end; / altersequencegb_seqincrementby1nocache; (备注: 在创建数据库的表时,我是使用了PLSQLDeveloper工具来创建的,这样更方便快捷些,要使用这个工具,请自行下载。 ) 好了,接着做下去。 首先,我们打开myeclipsedatabaseexplorer视图,在这里,我们进行逆向工程的操作,如图: 这样就打开了逆向工程的操作的界面了。 接着,我们会看到如下的操作界面,如图: 使用如上图的设置,com.v512.guestbook.model存放的是映射文件和相应的实体类(POJO),再点击”next”. 这时,会出现操作界面,如下图: 在这一步,他设置了主键的生成方式,我使用了natice,其它不用改变。 最后点击”finish”. 再查看目录结构,会显示如下的目录结构,如图: 里面针对两个表生成了相应的.hbm.xml的映射文件和相应的两个类。 查看hibernate.cfg.xml,其源码如下: xmlversion='1.0'encoding='UTF-8'? > DOCTYPEhibernate-configurationPUBLIC "-//Hibernate/HibernateConfigurationDTD3.0//EN" " --GeneratedbyMyEclipseHibernateTools.--> jdbc: oracle: thin: @localhost: 1521: ora10g org.hibernate.dialect.Oracle9Dialect Linkoracle10g oracle.jdbc.driver.OracleDriver 执行上面的操作后,接着往下做。 呵呵。 第六步,我们为项目新建一个包,包名称为: com.v512.guestbook.dao,它用来存放对底层数据库进行的操作的一系列接口。 接着在包中新建一个接口,名为: GuestbookDao,如图: 在接口中,我们定义了几个方法,如下: packagecom.v512.guestbook.dao; importjava.util.*; importcom.v512.guestbook.model.Guestbook; //DAO指的是能对底层数据训进行怎样的操作,通常是增删改查的操作 publicinterfaceGuestbookDao{ publicvoidsave(Guestbookg); publicvoiddelete(Longid); publicListgetGuestbooks(); publicGuestbookgetGuestbook(Longid); } 紧接着我们创建一个包,包名为: com.v512.guestbook.dao.hibernate,这个包存放的是实现了上面定义的dao接口的类,而这些类当中都是通过使用Hibernate的技术来执行相应的操作的。 在该包中,我创建了一个类,类的名称为: GuestbookDaoHibernate,它要实现上面定义的GuestbookDao接口,并且继承于HibernateDaoSupport.类的完整的源码是: packagecom.v512.guestbook.dao.hibernate; //这个包存放的实现了dao接口的一些类,而这些类都是通过Hibernate的技术来执行相应的操作 importjava.util.List; importorg.springframework.orm.hibernate3.support.HibernateDaoSupport; importcom.v512.guestbook.dao.GuestbookDao; importcom.v512.guestbook.model.Guestbook; publicclassGuestbookDaoHibernateextendsHibernateDaoSupportimplementsGuestbookDao{ publicvoiddelete(Longid){ this.getHibernateTemplate().delete(getGuestbook(id)); } publicGuestbookgetGuestbook(Longid){ return(Guestbook)getHibernateTemplate().get(com.v512.guestbook.model.Guestbook.class,id); } publicListgetGuestbooks(){ returngetHibernateTemplate().find("fromGuestbookorderbyiddesc"); } publicvoidsave(Guestbookg){ getHibernateTemplate().saveOrUpdate(g); } } 在上面操作完成后,我们开始编写服务层的接口和相应的接口实现类(可以理解为spring层)。 我们新建一个包,包的名称为com.v512.guestbook.service,接着我们在该包中定义了一个接口。 完整的源如下: packagecom.v512.guestbook.service; importjava.util.List; importcom.v512.guestbook.model.Guestbook; publicinterfaceGuestbookManager{ publicvoidsave(Guestbookg); publicvoiddelete(Stringid); publicGuestbookgetGuestbook(Stringid); publicListgetGuestbooks(); } 到了这里,我们新建一个包,包名称为: com.v512.guestbook.service.impl,在包中,我定义了上面GuestbookManager的实现类,完整的源码如下: packagecom.v512.guestbook.service.impl; importjava.util.List; importcom.v512.guestbook.dao.GuestbookDao; importcom.v512.guestbook.model.Guestbook; importcom.v512.guestbook.service.GuestbookManager; publicclassGuestbookManagerImplimplementsGuestbookManager{ privateGuestbookDaodao; publicvoidsetGuestbookDao(GuestbookDaodao){ this.dao=dao; } publicvoiddelete(Stringid){ dao.delete(newLong(id)); } publicGuestbookgetGuestbook(Stringid){ returndao.getGuestbook(newLong(id)); } publicListgetGuestbooks(){ returndao.getGuestbooks(); } publicvoidsave(Guestbookg){ dao.save(g); } } 执行类似的操作,我们在com.v512.guestbook.dao中定义AdminDao的接口,代码如下: packagecom.v512.guestbook.dao; publicinterfaceAdminDao{ publicbooleanvalidate(Stringusername,Stringpassword); } 再创建AdminDao的实现类,类名称为AdminDaoHibernate,把它放置在com.v512.guestbook.dao.hibernate包中,完整的源码是: packagecom.v512.guestbook.dao.hibernate; importjava.util.List; importorg.springframework.orm.hibernate3.support.HibernateDaoSupport; importcom.v512.guestbook.dao.AdminDao; publicclassAdminDaoHibernateextendsHibernateDaoSupportimplementsAdminDao{ publicbooleanvalidate(Stringusername,Stringpassword){ Stringparam[]={username,password}; Listlist=getHibernateTemplate().find("fromAdminwhereusername=? andpassword=? ",param); returnlist.size()>0; } } 在上面操作完成后,我们开始编写服务层的接口和相应的接口实现类(可以理解为spring层)。 我们新建一个包,包的名称为com.v512.guestbook.service,接着我们在该包中定义了一个接口。 完整的源如下: packagecom.v512.guestbook.service; publicinterfaceAdminManager{ publicbooleanvalidate(Stringusername,Stringpassword); } 到了这里,我们新建一个包,包名称为: com.v512.guestbook.service.impl,在包中,我定义了上面AdminManager的实现类,完整的源码如下: packagecom.v512.guestbook.service.impl; importcom.v512.guestbook.dao.AdminDao; importcom.v512.guestbook.service.AdminManager; publicclassAdminManagerImplimplementsAdminManager{ privateAdminDaodao; publicvoidsetAdminDao(AdminDaodao){ this.dao=dao; } publicbooleanvalidate(Stringusername,Stringpassword){ returndao.validate(username,password); } } 紧接着,我们在 执行完上面的操作后,我们去修改项目当中的配置文件。 在applicationContext.xml中,我想把Hibernate的配置信息也设置到applicationContext.xml文件中去,这样的话,hibernate.cfg.xml文件就不需要了. 首先,我在当中创建一个dataSource的bean,如图: 接着会弹出这样一个操作界面,如图: 设置后,applicationContext.xml中便新增了名为dataSourece的bean。 如图: 在增加了DataSourcebean的设置后,再增加两个bean的设置,右键,在“Spring”---"NewBean",我们添加了guestbookDao和guestbookManager两个bean,如图, 在上图中,要注意三点: 1)Beanid指的是bean的id; 2)Beanclass: 选择 的”Browse”按钮,选择GuestbookDaoHibernate
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SSH 框架 实现 留言板