当前位置:文档之家› 《JavaEE》课程设计报告实验

《JavaEE》课程设计报告实验

《JavaEE》课程设计报告题目名称:基于struts2、Spring、Hibernate构建一个网上投票系统指导教师:_______ _________ _______专业班级:__ ____ ______ _组长:________ _____ ______成员:__ 娄宇杨浩亮张益民林强 __ __电子邮件:____ 15224891@_ ______ _设计时间: 2011 年 11 月 16 日至2011 年 12 月 21 日成绩:______目录基于struts2、Spring、Hibernate构建一个网上投票系统 (3)一、问题描述及设计思路 (3)1.1 需求分析 (3)1.2业务分析 (3)1.3投票用例 (5)二、详细设计过程 (8)2.1 创建Struts2应用 (8)2.2 添加Hibernate (8)2.3 添加Spring应用 (9)2.4 领域模型层设计 (9)三、结论和体会 (13)3.1 结论 (13)3.2 体会 (13)四、附录 (14)附录A 其它图表 (14)附录B 主要程序代码 (15)五、参考文献 (21)基于struts2、Spring、Hibernate构建一个网上投票系统一、问题描述及设计思路对于开发一个投票管理系统来说,应该实现什么功能,如何实现这个功能都是开发人员必须了解的问题。

将这个系统的需求、业务流程以及用例进行细致的分析、讲解。

1.1 需求分析随着网络应用的日益普及,投票的形式也发生了很大的变化。

目前在很多的场合,投票已经开始由原始方式转变为网上投票。

由于具有方便、快捷、成本低、调查范围广等优点,网上投票已经被广泛的应用。

如何管理好网上投票信息内容也变得十分的重要,我们所设计开发的投票管理系统,正是基于这种需求诞生的。

本投票管理系统分为用户提供网上投票和投票信息管理两大类功能。

通过投票管理功能可以完成增加新投票、修改原有投票信息、查找投票等功能。

本系统的界面友好、操作简便,适用于任何网站进行投票调查。

本系统的基本功能如下所述。

●使用本系统的网上投票功能,用户只要登录指定的网页,就可以进行投票操作,并可以得到投票结果信息。

●使用本网站的登录功能,管理员可以登录系统,然后对相关的信息进行管理。

●使用本系统的创建投票功能,管理员可以创建一个新的投票功能。

●使用本系统的管理投票功能,管理员可以对系统已经存在的投票进行更新,包括增加投票子选项、删除投票子选项、修改投票类型、更改投票状态。

●使用本系统的查找投票功能,管理员可以通过输入部分或者全部的投票主题查找对应的投票信息。

●使用本系统的管理员管理功能,管理员可以修改本人的密码或者创建一个新的管理员。

●使用本系统的注销功能,管理员可以安全的退出本系统。

1.2业务分析投票管理系统由前台和后台两部分组成:前台显示投票并可以执行投票操作,后台是对投票信息和管理员信息进行管理。

下面分别从使用前台和使用后台两个角度来分析本系统的业务流程。

1.2.1显示投票用户进入投票页面如图,进行投票操作。

1.2.2管理投票1.2.2.1后台登录页面只有管理员可以进入后台对相关的信息进行维护,管理员在维护信息之前必须先登录系统。

1.2.2.2后台主页面当成功登录系统后进入后台主页面,在后台主页面的左侧显示欢迎信息和系统当前所有投票数量信息。

同时该页面提供了相关操作的链接,单击相应的链接即可进行相应的操作。

各链接具体实现的业务如下。

●管理投票链接:当管理员单击“投票管理”的文字或者图标链接后,进入管理投票页面,可以对系统已有投票信息进行维护。

●创建投票链接当管理员单击“创建投票”的文字或者图标链接后,进入创建投票页面,可以增加新的投票选项。

●查找投票链接:当管理员单击“查找投票”的文字或者图标后,进入查找投票页面,可以根据所输入的投票主题信息(可以是完整的,也可以是关键字)在系统已有的投票中进行查找。

●管理员管理连接:当管理员单击“管理员管理”链接后,进入管理员管理页面,可以修改当前管理员密码,增加新的管理员。

●投票主页链接:当管理员单击“投票主页”链接后,可以跳转到后台主页面。

●注销链接:当管理员单击“注销后“链接后,可以安全退出系统。

1.3投票用例用例名称:投票简要说明:允许所有用户进行投票操作基本事件流:(1)用户进入投票页面(2)系统显示投票主题及投票内容(3)用户进行投票(4)系统显示投票结果(5)用例结束异常事件流:(1)投票已经关闭,系统给出错误提示(2)用户所在IP已经投过票,系统出现错误提示用例名称:创建投票简要说明:允许管理员创建新投票前置条件:管理员已经登录后台系统(1)管理员进入创建投票页面(2)管理员填写新投票主题相关信息并单击下一步(3)管理员填写新投票选项信息并单击下一步(4)系统增加新投票信息并显示(5)用例结束异常事件流:(1)填写信息错误,系统给出提示信息(2)管理员中途单击其他页面链接,跳转相应页面 用例名称:查找投票简要说明:允许管理员查找投票前置条件:管理员已经登录后台系统基本事件流:(1)管理员进入查找投票页面(2)管理员输入完整或部分的投票主题并提交(3)系统显示查找结果(4)用例结束异常事件流:(1)输入信息有误,系统给出错误提示(2)数据库没有符合要求的信息,系统给出提示用例名称:增加投票选项简要说明:允许管理员为某投票主题增加子选项气质条件:管理员已经登录后台系统基本事件流:(1)管理员进入修改投票信息页面(2)管理员单击“新增加一个投票选项“链接(3)管理员输入新增加选项内容(4)用例结束异常事件流:(1)输入信息有误,系统给出错误提示(2)数据库没有符合要求信息,系统给出提示用例名称:删除投票选项简要说明:允许管理员删除某投票选项的子选项气质条件:管理员已经登录后台系统基本事件流:(1)管理员进入修改投票信息页面(2)管理员单击要删除选项相应的“删除”链接(3)系统删除相应的选项(4)用例结束异常事件流:当剩余选项个数小于等于2时,继续删除系统提示错误 用例名称:修改投票选项简要说明:允许管理员修改投票信息前置条件:管理员已经登录后台系统(1)管理员进入修改投票信息页面(2)管理员修改投票信息并单击“更新”按钮(3)系统更新投票信息(4)用例结束异常信息流:输入信息有误,系统给出提示用例名称:修改密码简要说明:允许管理员修改本人的登录密码前置条件:管理员已经登录后台系统基本事件流:(1)管理员进入修改密码页面(2)管理员输入信息并提交(3)系统显示现修改成功(4)用例结束异常信息流:(1)输入信息有误,系统给出错误提示(2)旧密码输入不正确,系统给出提示(3)两次输入新密码不一致,系统给出提示 用例名称:创建新管理员简要说明:允许管理员创建一个新管理员前置条件:管理员已经登录了后台系统基本事件流:(1)管理员进入创建新管理员页面(2)管理员输入信息并提交(3)系统显示创建成功(4)用例结束异常信息流:(1)输入信息有误,系统给出错误提示(2)两次输入密码不一致,系统给出提示(3)新管理员用户名已存在,系统给出提示二、详细设计过程到目前为止我们已经对于整个投票系统的需求有了一定的了解,下面将要设计到具体的实现方案。

本节将从两个方面入手进行系统设计,包括技术方案(使用什么样的技术来开发设计这个系统)和数据库设计(本系统设计到的数据信息如何存取)。

下面就是系统设计的详细内容。

通过前面的分析设计,我们已经对整个投票管理系统的工作流程、工程构架有了深入的了解,下面开始进入详细设计和代码的实现过程。

2.1 创建Struts2应用✧在stc根目录添加配置文件struts.Xml✧修改web.xml文件内容✧引入jar包2.2 添加Hibernate✧引入jar包包括hibernate3.jar、cglib-nodep-2.14_3.jar、dom4j-1.6.1.jar、commons-collections.jar、log4-1.2.13.jar、c3p0.0.90.4.jar、jta.jar、antlr-0.7.6.jar✧创建对应数据库的持久化类一共需要创建4个持久化类,分别为Admin.java、Vote.java、Votecontext.java、Voterjava。

它们各自对应的代码将在具体实现小节中提供需要注意的是,在写Hibernate持久类的时候,一定要遵循如下所述的规范。

●持久化类符合Javabean的规范,包含一些成员变量,以及与之对应的getter、setter方法●持久化类有一个ID属性,用来唯一标示Customer类的每一个对象。

在面向对象术语中,这个ID属性被称为对象标识符(OID,Object Identifier),通常它都用整数表示。

●Hibernate要求持久化类必须提供一个不带参数的默认构造方法。

✧创建对象关系映射文件对应持久化类我们也需要创建4个映射文件,分别为Admin.hbm.xml、Vote.hbm.xml、Voter.hbm.xml、Votecontext.hbm.xml。

它们各自对应的代码将在具体的实现小节中提供。

✧创建Hibernate配置文件hibernate.cfg.xml2.3 添加Spring应用✧引入jar包包括spring.jar和sturts2-spring-plugin-2.08.jar✧创建Spring配置文件applicationContext.xml✧在Web.xml中添加Spring监听2.4 领域模型层设计2.4.1持久层设计持久层是通过Hibernate实现的,采用DAO模式进行的开发设计。

在设计过程中,我们所有的实现类都继承了HibernateDaoSupport,通过Hibernate 提供的HQL语言执行数据操作,避免了手写大量SQL语句繁琐、易错的弊端。

具体的实现过程可以分为以下几步。

(1)编写接口(2)编写实现类(3)在applicationContext.xml中配置DAO。

2.4.2业务层设计业务层是一个典型的Web应用程序中是作为中间组件而存在的。

2.4.3表示层设计✧管理员登录模块设计后台管理员登录是后台系统管理的入口,只有成功登录系统后才可以进行信息管理。

首先管理员进入登录界面。

输入用户名、密码以及图形校检码并单击“确定”按钮,如果信息无误则进入后台管理系统这页面;如果输入信息有误,系统将给出提示信息。

✧创建投票模块该模块主要用于系统中添加一个新的投票,包括投票主题,投票类型、投票是否发布、投票选项内容。

输入投票的主题、子选项个数、选择投票类型以及是否马上开放并单击“下一步”按钮。

如过输入有误,系统给出提示信息。

创建投票选项的代码。

相关主题