实验十(综合实验)struts2和hibernate的整合应用

实验十(综合实验)struts2和hibernate的整合应用

ID:47404459

大小:1.30 MB

页数:20页

时间:2020-01-10

实验十(综合实验)struts2和hibernate的整合应用_第页
预览图正在加载中,预计需要20秒,请耐心等待
资源描述:

《实验十(综合实验)struts2和hibernate的整合应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、........实验十Struts2和hibernate的整合应用一、实验目的1.掌握Struts2和hibernate的整合二、实验环境1.Tomcat2.MyEclipse三、实验描述1.实验内容及要求:使用Struts2和Hibernate实现以下功能:1)插入几条新闻到数据库中;2)查询所有新闻,并在页面中显示新闻的标题、发布时间,要求对标题设置超链接,点击该链接后新开一个页面显示该新闻标题、发布时间、内容和来源;3)能够修改和删除新闻显示页面中指定的新闻;4)实现标题的模糊查询以及发布时间的范围查询;5)要求使用连接池。6)要求使用Str

2、uts2校验框架按以下要求进行有效性校验:l对新闻标题、新闻内容作非空校验l对新闻标题、新闻来源作长度校验2.要求:1.13周的小课前上传实验报告到FTP,并请保留电子版等候通知随时打印提交2.在报告中必须附上以下截图:.专业学习资料.........1)显示项目的文件结构截图,如下图所示2)显示项目的各个功能的运行结果截图3)请注意:不附截图者扣2分!四.实验步骤:①新建一个Struts2项目②为项目添加hibernate支持③创建持久化类及其映射文件④创建DAO接口及其实现类⑤创建工具类,获取Session对象⑥修改hibernate.cfg.

3、xml⑦创建动作类,在其中调用DAO中的业务方法⑧使用Struts2校验框架校验用户输入数据的有效性:用户和密码都必须输入,确认密码必须等于密码⑨编写struts.xml文件⑩编写客户端JSP文件具体步骤请参考Struts2和hibernate的整合.ppt。.专业学习资料.........下面将按照DAO的方式完成代码的开发,首先定义VO类,VO类的名称与表的名称一致。定义对应的vo类——News.java.专业学习资料.........本程序只是一个简单的vo类,包含了属性、getter、setter方法。其中插入日期时使用的是java.uti

4、l.Date类。提示:由于篇幅问题,所以不列举所有setter和getter方法。定义完vo类后,下面来定义一个HibernateUtils.java类,此类主要完成Hibernate的session打开及关闭操作。HibernateUtils.java类.专业学习资料.........为了使之前定义的News.java类具备持久化操作的能力,接下来定义它对应的映射文件。News.hbm.xml.专业学习资料......... 注意:这里的延迟加载设置为禁用。接下来就要在hibernate.cfg.xml里引入News的映射文件hibernate.

5、cfg.xml OK,到了这步的话数据库的创建就基本上搞定了,用一个测试类Export.java看下之前的步骤有没有出错.专业学习资料.........Exprot.java运行一下,发现没问题,打开Mysql,输入“usejavaee;descnews;”发现表已经建好了,再往里边插入数据,作业的第一步就完成了。 提示:mysql的语句结束一定要用";",不然不会执行的。在DAO设计模式中,最重要的就是定义DAO接口,在定义DAO接口之前必须对业务进行详细的分析,要清楚地知道一张表在整个系统中应该具备何种功能。本程序中只完成数据的查询全部、更新、

6、删除的功能。定义DAO操作标准——NewsDAO.java.专业学习资料.........在DAO的操作标准定义了findAll()、findById()、update()、delete()4个功能。findAll()方法主要完成数据的查询操作,由于返回的是多条查询结果,所以使用list返回;findById()方法根据新闻的编号返回一个News对象。update()方法由于要保存session,所以要返回Boolean来判断,delete方法因为我懒,所以就设成void。DAO接口定义完成后需要具体的实现类,由于实现类的代码较多,所以用分段列出的

7、形式,在运行时,直接按照分类的顺序输入就可以了。真实实现类——NewsDAOImpl.java在执行查询全部数据时,首先实例化了List接口的对象;在定义Hql语句时,将新闻标题定义成了模糊查询的字段,把查询出来的结果加载到List集合中。.专业学习资料......... 按编号查询时,如果此编号的新闻存在,则映射到News对象,如果没有查询到,则返回null。在执行更新操作时,因为在更新前已经取得了News对象,所以不用通过session.load()来取得对象,直接对引用对象进行update()就可以了。.专业学习资料......... 在执行

8、删除操作时,通过调用findById()方法来取得news对象,在进行delete操作。 以上程序分别实现了findAll

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。