网站投票系统-本科毕业论文_第1页
网站投票系统-本科毕业论文_第2页
网站投票系统-本科毕业论文_第3页
网站投票系统-本科毕业论文_第4页
网站投票系统-本科毕业论文_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

江苏科技大学本科毕业设计(论文)学院电气与信息工程学院专业软件工程专业学生姓名闫雨涛班级学号1245536227指导教师吴惠英二零一六年六月江苏科技大学本科毕业论文网站投票系统THESYSTEMOFVOTINGONLINE摘要随着网络的发展,越来越多的事情变得越来越简单,比如在线投票。网站投票系统是面向INTERNET的投票网站,让越来越多的人可以在家就浏览到全面的投票信息,让越来越多的人在家就可以投出宝贵的一票。本系统是一个面向广大群众的,是一个公平公正的,统计结果实时公布的一个开放的投票平台。本系统提供了一个全面的可供人们查看、浏览投票信息的网站。用户能够在家里,或者是有网络的地方,就能投票。本系统会自动的,实时的刷新投票结果,供用户检查。这种投票方式取代了效率低下,而且复杂的传统投票。本系统降低了投票的成本,合理的优化了投票的资源,提高了效率。而且最重要的一点,网上投票系统避免了传统投票可能出现的有失公平的结果。整个网络投票系统由前台展示和后台管理组成。本系统是以TOMCAT为服务器、ORACLE为数据库,MYECLIPSE为开发工具,建立在B/S模式下,采用JSP技术,使用了SPRINGMVCHIBERNATE框架进行开发。关键字JSP;JAVA;B/S模式;报表ABSTRACTWITHTHEDEVELOPMENTOFTHENETWORK,MOREANDMORETHINGSBECOMEEASIER,SUCHASVOTINGONLINETHESYSTEMOFVOTINGONLINEISAWEBSITEFORVOTINGTHATGEAREDTOINTERNET,MAKEMOREANDMOREPEOPLECANBROWSECOMPREHENSIVEINFORMATIONONVOTINGATHOMEANDMAKEMOREANDMOREPEOPLECANCASTAVALUABLEVOTEATHOMETHISSYSTEMISAPOPULAR,FAIR,IMPARTIALPLATFORMTOVOTETHATMAKESTATISTICALRESULTTOTHEPUBLICATANYTIMETHISSYSTEMISAWEBSITETHATPROVIDECOMPREHENSIVEINFORMATIONONVOTINGFORPEOPLETOLOOKTHEUSERCANVOTEATHOME,ORPLACEWHEREHAVEANETWORKTHISSYSTEMCANREFRESHTHEVOTINGRESULTSAUTOMATICALLYFORPEOPLETHISSTYLEOFVOTINGREPLACEWITHPOOREFFICIENCYANDCOMPLICATEDTRADITIONALVOTINGTHISSYSTEMNOTONLYREDUCECOSTANDOPTIMIZERESOURCES,BUTALSOIMPROVEEFFICIENCYFORVOTINGANDMOSTIMPORTANTLY,THESYSTEMOFVOTINGONLINECANAVOIDUNFAIRRESULTSTHATMAYOCCURFORTRADITIONALVOTINGTHEENTIRESYSTEMOFVOTINGONLINEISCOMPOSEDOFTHEFOREGROUNDEXHIBITANDBACKGROUNDMANAGEMENTTHESYSTEMUSETOMCATFORSERVER,USEORACLEFORDATABASE,USEMYECLIPSEFORDEVELOPMENTTOOLS,BUILTONTHEB/SMODE,USINGJSPTECHNOLOGYANDUSEDSPRINGMVCHIBERNATEFRAMEWORKTODEVELOPKEYWORDSJSP;JAVA;B/SMODE;REPORT目录第一章绪论111系统开发的背景112系统设计的目标113课题研究的内容和意义214本章小结3第二章系统需求及可行性设计421系统的设计目标422投票管理的需求分析423系统可行性分析4231技术可行性分析5232可行性分析总结824本章小结8第三章系统主要架构及开发模式931基于B/S的体系结构932本系统的B/S实现933本章小结9第四章系统详细设计1041系统设计思路1042系统功能模块1143系统数据流程图1244本章小结14第五章系统具体实现1551系统开发和运行环境1552分层思想的实现1553系统数据库的实现1654文件配置19541PROPERTIES文件配置19542WEBXML文件配置2055网络投票系统的实现20551前台登录模块的实现20552前台注册模块的实现21553前台忘记密码模块的实现22554前台首页模块的实现22555前台投票模块的实现23556前台帮助模块的实现28557前台公告模块的实现29558后台用户管理模块的实现29559后台投票类型管理模块的实现305510后台投票主题管理模块的实现305511后台投票内容管理模块的实现305512后台公告管理模块的实现3156本章小结31第六章系统测试与维护3261软件测试概述3262数据合法性测试3263系统报错处理3264本章小结33结论34致谢35参考文献36第一章绪论11系统开发的背景几十年前,随着互联网进入我们国家并且光速发展,计算机已经改变了人们的思考方式并且渗入到人们的日常生活点点滴滴中,也改变了我们的世界1。比如说,网上购物已经渐渐取代了传统商店中的购物;网上买票,省去了人们去车站,并且排队的时间;还有网上视频通话,网上教学这些都极大的方便了人们的生活。提高了生活的效率。正是因为有这些好处,互联网才会深深融入人们的生活,并且让人们有些依赖互联网。在这样一个互联网百花齐放的时代,网络投票系统也渐渐出现在人们的视野中。它可以让用户足不出户,在屏幕前进行登录,点击鼠标,就能够投出你自己内心的想法。相比较以前的投票,得花费大量的时间去排队,组织起来浪费人力,物力、财力,不得不说,无论从哪一个层面考虑,网络投票确实都优秀于传统投票,并且取代传统投票。也许有些人会问,那除了上面的优势,网络投票系统会不会有不安全,或者数据造假的情况。任何事物都有利有弊,互联网也一样,网络投票的话,人们无法控制背后的暗箱操作,也许某些人只是后台随便多输入一个0,就是不一样的统计结果,但是用户不能因为它的这些弊端,人们就放弃网络投票系统。更何况,即使是传统的投票,人们也不能控制有没有数据造假,也许有人在背后从中作假。用户只能尽我们最大的努力,确保程序的正确性。首先利用网络技术是可以很方便的排除刷票的做法的。在统计数据上,计算机也会非常迅速并且准确的统计出来2。随着互联网的发展,各种网上投票系统越来越多,出现在人们的眼里,并且应用越来越广。几乎所有的内容都可以作为投票的内容,群众的宝贵的投票,将引领着这个社会在前进,同时社会的前进又会促进网络投票系统的更加完善。网上投票系统因为在很多方面优于人们以前的聚众投票的特性,在互联网中上演了重要的角色,并且随着时代的发展,网上投票系统将会被越来越多的人使用和认可。12系统设计的目标本系统是一个在网络上的对用户开放的进行投票的一个网站。顾名思义,网络投票系统,就是想做一个可以让用户在家里或者任何有网络的地方都可以很轻松进行投票的网站。用户可以在网络投票系统的网站里浏览关于投票的内容,筛选在这个网站上的自己感兴趣的投票信息,比如某些人喜欢音乐;某些人喜欢电影。这个投票系统,可以包罗万象,只要用户在评论里评论了,本系统的后台管理员都可以在后台手动添加。防止刷票现象,用户必须登录才可以进行投票,本系统采用一个手机号对应一票的原则,进行投票。此外,对于投票统计的结果,本系统是实时告诉用户的,避免了后台管理员在后台的暗箱操作或者不小心操作。本系统将结果采用柱状图清晰的反馈给用户,直观,大方。13课题研究的内容和意义网络投票系统这个课题主要是想完成管理员在后台与前台用户进行交互操作,进行投票结果的统计。一般用户可以查看投票的信息,在登录后才可以投票。管理员可以进行用户管理、投票管理和前台公告的管理。前台有登录注册模块,投票列表模块,投票详情模块,评论模块,公告展示模块,系统帮助模块。我需要了解JSP工作原理和运行环境,掌握ORACLE数据库的设计,使用ORACLE数据库,主要是因为它是稳定的,安全的,高性能的。钻研网络投票网站的需求,功能,还有页面的美化和设计。一旦完成需求分析,网络投票系统被做好后,就可以投入使用,无论是对用户还是对开发者而言,将会带来很好的投票效果。课题主要工作(1)本课题解释系统的需要是怎么实现的;系统是一个什么样的系统;系统需要用到哪些技术;系统会给用户带来什么好处。(2)本系统和其它系统一样,都是有用户展示模块和管理员动态添加模块构成的,前台包括登录、注册、找回密码、投票展示、投票、投票评论,还有些关于投票的常识,网站的公告等。后台管理就是对前台展示的一个管理,你在后台可以增删、查改这些前台展示的信息。(3)分析并解决实现中出现的若干问题,比如如何排除刷票的现象,比如如何显示统计结果。(4)时时统计投票结果,并用柱状图直观的展示结果,如果数据有问题,提供评论的方式让用户反馈。14本章小结第一章主要告诉人们网络投票系统开发的背景、网络投票系统系统设计的目标、网络投票系统研究的内容和意义。从互联网发的快速展和给社会带来的好处等方面解释了网络投票系统是在什么样的社会背景模式下设计实现的,以及设计完成网络投票系统之后可以实现什么的效果,并带来哪些好处。第二章系统需求及可行性设计21系统的设计目标网络投票系统主要采用的是MVC模式,设计这个网站主要用于网络投票。管理员可以在登录后台后,在后台添加投票的信息,对投票的信息进行增加,删除,修改等一系列操作。从而对数据库进行更新,从而对前台页面投票信息进行更新和补充。用户在前台有权利进行投票信息的浏览,在用户登录之后,才可以进行投票和评论。用户投票的数据,本系统存进数据库中,在统计结果时,系统将所有的数据进行整合统计,以柱状图的形式展示给用户看,可以非常直观的把结果告诉用户,谁的投票数量第一。22投票管理的需求分析投票管理主要分为三个板块,分别是投票主题管理,投票标题管理,投票内容管理。其中投票标题中含有投票主题,而投票内容中又含有投票主题,从而产生三者的关系,环环相扣,缺一不可,形成一个完整的投票信息。对比了很多的投票网站,有的是采用图片的形式,有的是采用文字的形式,图片文字会更加直白的表现投票的主题与内容,所以本系统将两者结合,这样用户在浏览的时候如果图片不足以形象的说明问题,就可以借助文字的解释来理清投票的信息。同时投票的结果,本系统采用柱状图来显示,在数据显示上,柱状图比饼形图来的更加清晰直观。为了给用户给好的体验,本系统用了柱状图。对于投票的刷票这种现象,参考了一些网站。无非是IP限制,手机号限制。因为IP限制有同一个IP下只能有一个人进行投票的局限性,比如同一个公司同一个IP下的用户,只能有一个人进行投票,其他用户就会被限制投票。所以最终本系统采用了手机号限制,直接用手机号作为登录的帐号,方便快捷,用户也会感到操作方便。因此,实现一个网络投票系统对于投票的管理是非常重要的。可以省下好多人力,物力,财力,也有利于用户知道某些投票谁的得票数是最多的,也让开发者知道,用户最喜欢的投票选项是哪一个。从而就可以产生需求决定市场,市场满足需求的情况了。23系统可行性分析技术可行性分析是决策科学在项目领域的应用。可行性研究,就是应用很多种科学手段对网络投票系统进行技术经济论证的综合科学,其基本任务是通过多次的调查研究,论证网络投票系统是否是可行的。231技术可行性分析(1)JSP简介JSPJAVASERVERPAGES是系统的页面,和传统的HTML不同,JSP中可以包含JAVA语言,可以包含动态语言。是特殊的SERVLET。编译之后的JSP就是SERVLET,就是JAVA代码,生成的页面信息会返回给客户端,呈献给用户。JSP它有9大内置对象,其实就是对应了SERVLET中的JAVA对象。PAGE当前页面PAGECONTENT编译后的页面REQUEST请求CONFIG页面执行期EXCEPTION异常OUT输出SESSION跟踪会话APPLICATION会话RESPONSE响应JSP中如果想写JAVA语言也是完全可以的,因为它就是特别的SEVLET,只需要以的方式就可以了这种跨平台的开发,使得JSP可以运行在等其它开发系统上。非常的方便,而且实用。JSP的工作原理,首先JSP是视图,就是在用户面前看到的网站页面,当用户进行某些操作,需要用到后台的方法的时候,比如提交一个表单,JSP就会被开发工具翻译成SERVLET,SERVLET再将返回的结果生成HTML页面,供用户查看,浏览。所有显示的信息都在里面。增强了用户的那种体验感,简化了开发者的许多工作。所以越来越多的项目开始用JSP。SERVLET中经常使用的方法有如下几个INIT方法,初始化的方法,而且只会初始化一次,以后在执行就不需要初始化,SERVICE方法,SERVLET的主要处理逻辑的方法,用户在前台页面JSP发送一个请求,这个方法就会被开发工具执行,并且在这里面对用户的请求进行操作,并将结果返回给JSP,即将结果呈现给用户看。DOGET方法,当用户发送GET请求的时候,就会调用这个方法,一般都是访问数据,才会调用GET方法。DOPOST方法。当用户发送POST请求的同事,就会调用这个方法,一般都是修改数据才会调用这个方法。DESTORY方法,这个方法在整个活动周期中,只会执行一次,就是在结束生命周期的时候执行一次,并且结束掉生命周期。JSP运行原理图如21所示DESTORY方法,这个方法在整个活动周期中,只会执行一次,就是在结束生命周期的时候执行一次,并且结束掉生命周期。JSP运行原理图如21所示。图21JSP运行原理图(2)JSP的优势重复使用开发者写的代码只需要开发工具翻译一次,以后开发者每次调用,开发软件都不会在翻译它,而且放在其它的开发软件,其它的系统中都可以用。接口庞大在很多开发软件和开发系统中,都可以使用,十分方便。自适应由于可以在很多如那件和开发系统中使用,所以这个导致了JSP的适应性非常好。简单方便其它的开发页面所拥有的一些开发技术,JSP都可以实现,并且在判断上显得更加简单方便。(3)JSP的缺点任何事物都会有优点还有缺点。JSP也是一样的,从某些方面,它的自适应和接口庞大的特点非常强大,但是这些也带来了很多坏处。它在系统中就会很吃资源,这样子对你的电脑配置要求就会比较高一些。(4)JSP的发展前景JSP技术与其它的很多网页技术相比较,有什多不同的地方,最显眼的是JSP动态生成页面部分。JSP在很多方面做了改进,使得该技术最近几年乃至以后比较火热,被应用到很多网站网页的设计开发中。JSP这么多年一直在前进和完善,积极听取开发者的建议。所以得到了很多开发者的赞美和支持。(5)MVC框架简介MVC(MODELVIEWCONTROLLER)是一种B/S设计模式,但这种设计模式并不是JAVA专有,早期的MVC,MODELVIEWCONTROLLER都是JSP,后来慢慢发展,为了低耦合度,才有了MODEL就是普通的JAVABEAN类,VIEWJSP视图,CONTROLLER控制器。最核心的是控制器。工作流程,用户在前端页面JSP上操作,发出请求,到控制器上,控制器访问MODEL操作数据库,将返回的结果返回给JSP呈现结果用用户。MVC模式的优点它的优点有很多,比如互不干扰性,它的三个层之间的关系,已经慢慢在变得不紧凑,各个层有自己的独特的功能,都互相独立完成自己的功能,互相合作,让系统更加完善。而且很多完全不同的视图可以接受相同的后台代码,就是多个完全不一样的视图共通拥有了同一模型,这样减少了重复率,达到了很好的阅读效果。,维护性高因为MVC的设计模式,各个层之间都是自己做自己的,互不干扰,所以网站维护以来会很简单。(6)ORACLE简介ORACLE数据库是属于甲骨文公司的,它的类型是关系数据库。从调查结果看,ORACLE的使用率很高,很靠前。使用方便。有非常多的公司都在使用ORACLE数据库,尤其是在大数据方面,ORACLE数据库更是遥遥领先,高效率,可靠性,使用方便,功能强大,适合各种系统。(7)CHARTS简介CHART是一个很好、很强大、很方便,精悍的报表类工具库。帮你用不同的方式使你的数据变得图形化,直观、清楚,再加上炫酷的动画效果,看起来非常好的效果,即使在高分辨率的屏幕。基于HTML5的技术,适应性非常强悍,并且针对IE做了方案和修改,适合所有浏览器。而且它非常小,不依赖于任何外部工具库,加载迅速,使用方便。效果如22所示。图22CHART报表图(8)AJAX简介AJAX是指在不刷新整个页面的情况下,动态的刷新局部数据。AJAX优点这让系统与用户交互非常棒,给用户很好的体验。不需要刷新整个网页,缩短了时间。传统的方式,需要刷新整个页面,此时,用户只能等页面刷新好。AJAX缺点导致了后退键可能会出现问题。AJAX工作原理如图23所示。图23AJAX工作原理图(9)MYECLIPSE简介MYECLIPSE是在ECLIPSE基础上开发出来的,ECLIPSE功能强大,但是有很多地方开发者需要自己添加插件3。所以,开发者要做的事情,MYECLIPSE已经做好了,它加入了很多基于ECLIPSE的插件,供我们使用。功能也十分强大,支持也十分广泛,主要用于JAVA开发、JAVAEE和移动终端,对各种开源的框架的支持非常好。232可行性分析总结网络投票系统的开发,用户就能够在家里或者任何有网络的地方去投票,查看结果等。并且相比较传统的投票方式,本系统节省了很多资源,实时性也很强。避免了一些未知错误。将结果用柱状图显示给用户看,非常直观,开明化。因此,网络投票系统具有开发可行性。24本章小结本章节主要是从需求分析和可行性角度介绍,通过需求分析,明确了系统需要实现的功能,以及可能会遇到的问题,而技术可行性分析,是对系统实现过程中运用到的技术,如JSP、MVC、CHARTS、AJAX,MYECLIPSE等做简单介绍,了解技术的实现原理,优缺点等。第三章系统主要架构及开发模式31基于B/S的体系结构B/S结构是浏览器/服务器体系结构,是在网络应用下开发的一种网络结构模型6。与它对应的是C/S结构,这是客户端体系结构,随着网络的发展,越来越多的B/S结构的网站开始出现。用户只需要装一个浏览器就可以了,而C/S结构却是需要用户安装文件,比如用户电脑的QQ,360等,这是没有浏览器端来的方便的。而且客户端的话,会让用户的电脑空间越来越少,内存越来越少,电脑会变得很卡。如果是B/S结构,即使用户不使用自己的电脑,用户即使在外地,也可以用浏览器登录,获取到用户想要的信息,十分方便。B/S结构与数据库的交互,是通过WEBSERVER,这种交互方式,大大提高了系统的效率。有人说这是对C/S结构的一中变化和升级。这种交互,方便简单,增加了用户的体验感,相信应该会有越来越多的B/S结构应运而生7。32本系统的B/S实现网络投票系统主要是一个投票管理系统,管理员使用浏览器打开后台管理首页,进行相关投票管理。管理员在后台手动添加投票数据,系统前台就会把信息显示给用户看,用户浏览投票信息,并进行投票表决。投票的结果不论在后台还是前台都有统计。通过表现层用柱状图的形式展示给用户看,让结果显得直观、清楚。33本章小结本章节主要介绍了系统开发主要运用的框架和开发模式,这里重点介绍了B/S模式。B/S结构最大的优点是客户端可以运行,只要安装了浏览器,不需要专业的软件,简单方便,增加用户体验。在B/S模式下建立的系统,维护和升级方式简单,增加了中间层的作用,同时用户感受也较好8。第四章系统详细设计41系统设计思路网络投票系统是一个面向广大群众的很好的一个投票平台。根据系统的需求,网络投票系统的功能模块主要包括前台展示模块和管理员后台管理模块这两个管理模块,其中前台展示模块有登录管理模块,注册管理模块,投票管理模块,找回密码管理模块,公告管理模块,帮助管理模块。在管理员后台管理模块中主要有用户基本信息的管理模块,投票类型管理模块,投票主题管理模块,投票内容管理模块,统计结果报表展示模块,系统前台展示和管理员后台管理功能结构如图41,42所示图41网络投票系统前台功能图图42网络投票系统后台功能图42系统功能模块系统功能模块主要是用来介绍网络投票系统的前台以及后台管理的功能。(1)登录管理模块登录管理模块,主要是用来在投票或者评论的的时候进行验证的,验证不通过就无法投票或评论。是一个电话号码的使用原则,使用MD5加密和验证数据库的密码。验证成功后,跳转到你前一个正在浏览的页面,如果你没有前一个页面,那就跳转到首页去。(2)注册管理模块注册管理模块,注册用户的,只有注册过后,才可以进行投票和评论的。注册的时候有一个验证码。注册的时候,必须用手机号进行注册,注册成功后,跳转到登陆界面。(3)投票模块投票模块包括,投票展示模块,用户投票模块,用户评论模块,统计结果模块。投票展示模块就是一个带分页的列表展示页,上面有各种筛选条件,可以根据类型,热门,时间进行投票排序的一个页面。用户投票模块就是用户进行投票的页面,投过票和没投票的投票页面展现的效果是不一样的。这个页面是自适应页面,手机端也是完美自适应的。用户评论页面还是投票页面,最下面带有评论框,和以前的评论。用于对某一投票话题的评论。统计结果页面就是对某一投票话题的选项的实时投票结果的展示。采用柱状图的形式。(4)公告模块公告模块主要就是公告的一个展示,向用户展示公告,告诉用户一些关于投票的注意事项。(5)帮助模块帮助模块主要就是帮助页面的一个展示,向用户展示一些非常经典的操作是在哪里,该怎么样去做,告诉用户一些关于投票的注意事项。(6)忘记密码模块找回密码模块,主要是针对已经注册了的用户,但却忘记密码了的用户,只要还是通过手机号码进行密码的重置,本系统没有进行任何的问题检验身份,让用户省去很多不必要的麻烦,进行重置后,又可登录,在进行投票和评论。(7)基本信息管理模块用户管理模块,主要是后台管理员对用户的进行操作,可以找到用户,修改用户的信心,删除用户,这个模块是很少使用的,除非有一些用户传播负能量。(8)公告管理模块公告管理模块,主要是后台对前台公告的一个管理。可以查找公告,增加公告,修改公告,删除公告。并且在后台所操作的数据都会影响前台公告的数据展示。(9)投票主题模块投票主题管理模块,主要是后台对前台投票主题的一个管理。可以查找投票主题的数据,增加一个新的投票主题,修改一个投票主题的相关数据,删除某个没有价值的投票主题。并且在后台所操作的数据都会影响前台投票主题的数据展示。(10)投票类型管理模块投票类型管理模块,主要管理员对投票类型模块的管理。可以查找投票类型,增加投票类型,修改投票类型,删除投票类型。并且在后台所操作的数据都会影响前台投票类型的数据展示。(11)投票内容管理模块投票内容管理模块,主要是后台对前台投票内容的一个管理。可以查找投票内容,增加投票内容,修改投票内容,删除投票内容。并且在后台所操作的数据都会影响前台投票内容的数据展示。43系统数据流程图(1)系统数据流程图简介数据流程图就是开发者在分析系统的需求,功能的时候,将开发者分析出来的功能,都互相关联上一定的关系7。然后开发者用图的的方式画出来,某些特定形状的图代表了特定的意思,在图上平日上开发者的功能文字解释。这样,开发者就可以很清楚的看到各个功能模块之间的关联,以及本系统有多少的功能,本系统还缺少什么功能。本原本很复杂的系统功能,分解为简单的哥哥功能之间的联系,转化为图形的信息,传递给开发者,流程图也可以让开发者牢牢记住,对于系统的全部功能。因为各个功能之间都是有联系的,如果少了某些功能,人们的普遍反映都会觉得怪怪的,其实就是系统流程跑不通了。(2)管理员数据流程图输入正确的用户名和密码后,管理员开始登录系统。在成功登录系统之后,可以操作以下五个模块用户模块管理、投票类型模块管理、投票主题模块管理、投票内容模块管理、公告模块管理。用户模块管理,主要是后台管理员对用户的一个操作,可以查找用户,增加用户,修改用户,删除用户,基本上这个模块是很少用得到的,除非某些用户传播负能量。投票式管理模块,主要在后台进行的投票类型的管理。可以查找投票类型,增加投票类型,修改投票类型,删除投票类型。并且在后台所操作的数据都会影响前台投票类型的数据展示。投票主题管理模块,主要是后台对前台投票主题的一个管理。可以查找某些投票主题,增加一个新的投票主题信息,修改一个已经存在的投票主题的信息,删除某个没有价值的投票主题。并且在后台所操作的数据都会影响前台投票主题的数据展示。投票内容管理模块,主要是后台对前台投票内容的一个管理。可以查找投票内容,增加投票内容,修改投票内容,删除投票内容。并且在后台所操作的数据都会影响前台投票内容的数据展示。公告管理模块,主要是后台对前台公告的一个管理。可以增加公告,修改公告,删除公告。并且在后台所操作的数据都会影响前台公告的数据展示。用户前台数据流图如图43所示图43网络投票系统前台流程图网络投票系统管理员后台管理流程图如图44所示图44网络投票系统后台管理流程图44本章小结本章节主要是描述系统的各个功能是什么,各个功能是如何具体实现的,各个功能之间联系是什么。我首先做的是需求分析,针对不同的系统,我们的需求分析师不一样的,需求分析后,我们基本知道了该系统的功能有哪些,模块有哪些,然后在细分,每个功能需要用到什么技术,就这样,一级级做下去,从大局到细节的完成8。第五章系统具体实现51系统开发和运行环境(1)系统的运行环境系统的运行环境JAVA操作系统WINDOWS7操作平台;硬件标准为处理器因特尔I5,内存16GB;使用TOMCAT60WEB服务器,采用ORACLE数据库,运行环境采用MYECLIPSE。(2)TOMCAT简介TOMCAT是系统的服务器,是SUN公司的开发出来的服务器。相比较其它的服务器,TOMCAT有很多不同的地方,最大的特点的话,TOMCAT是对于任何使用者都是不收费的,而且开发者可以网上查看它的源代码。它的源代码是用JAVA语言写的。对于这种特点,这样子有如下几个好处,可以让越来越多的开发者使用TOMCAT,公开了JAVA代码,可以让更多的开发者提出建议,更加会有利于TOMCAT的发展。可以这样说,开发者和TOMCAT互惠互利,共同进步。其次,TOMCAT的另外一些优点还有,使用起来方便,而且要求的配置不高,因为它本身不会占用太多的资源,扩展性很好9。52分层思想的实现本系统采用SPRINGMVC加上HIBERNATE的框架来完成,有模型,导层,控制器,服务层,其中还有配置文件,系统的工程截图如图51所示图51系统工程截图53系统数据库的实现(1)数据库设计简介数据库的实现可以帮助用户存放数据,设计数据库一般遵循3大范式就可以了。数据库的设计会影响到以后程序的逻辑思维。因此,作为开发者,用户必须得好好设计数据库。(2)数据库命名规则数据库命名由英文字母、自然数、下划线,构成。这其中总共有63个元素,所以数据库命名的构成是这63个元素10。(3)数据库对象命名规则数据库对象包括很多东西,在本系统中只用到了序列。我们通常由2个英文单词来构成数据库对象命名,其中2个英文单词之间用下划线连接11。(4)字段命名规则就像JAVA命名变量一样,所有的字母都连在一起,从第二个单词往后开始,包括第二个单词,第一个字母使用大写的方式12。(5)数据库的概念设计网站投票系统主要有用户和投票等实体。用户主要有手机、密码、用户名等字段。如图52所示。图52用户实体图投票主要有投票内容、投票票数。投票主题等字段,其中投票表关联了投票类型表、投票标题表、投票内容表、评论表,如图53,54所示。图53公告表实体图图54投票ER图(6)数据库的逻辑设计用户表用户表主要是存储网站投票系统的用户的信息,里面的字段有用户名字、手机号、密码、用户等级。如表51所示。表51用户表VOTEUSER字段类型值意义主键/外键USERIDINT自增用户ID主键USERNAMEVARCHAR默认用户名字MOBILEVARCHAR手机号UPWD密码MD5加密密码USERLEVEL等级0/1普通用户/管理员投票类型表主要是用于存储投票类型的信息,该表里面的字段有投票类型名称。另外该表的主键还作为其他表中的外键字段出现,比如投票标题表,外键的作用就是将投票类型表和投票标题表这两张表关联在一起,让这两张表产生关系。如表52所示。表52投票类型表VOTETYPE字段类型值意义主键/外键IDINT自增类型ID主键NAMEVARCHAR类型名称投票标题表主要用于存储投票标题的信息,其中包含了投票类型的主键,在本表中做外键存储。如表53所示。表53投票标题表VOTETITLE字段类型值意义主键/外键IDINT自增标题ID主键TITLEVARCHAR标题名称TYPE_IDINT投票类型外键TIMEDATE投票时间IMGVARCHAR图片路径投票图片COUNTNUMINT投票数量投票内容表主要用于存储投票内容的信息,如表54所示。表54投票内容表VOTECONTENT字段类型值意义主键/外键IDINT自增内容ID主键CONTENTVARCHAR内容IMGVARCHAR图片路径内容图片COUNTNUMINT内容投票数量TITLEINT投票标题外键投票表主要用于存储用户投票的信息,如表55所示。表55投票表VOTE字段类型值意义主键/外键IDINT自增投票ID主键USER_IDINT投票用户外键CONTENT_IDINT所投内容外键TIMEDATE投票时间公告表主要用于存储前台公告信息,如表56所示。表56公告表NEWS字段类型值意义主键/外键IDINT自增公告ID主键TITLEVARCHAR公告标题CONTENTVARCHAR公告内容TIMEDATE公告发布时间评论表主要用于存储前台用户评论的信息,如表57所示。表57评论表COMMENTS字段类型值意义主键/外键IDINT自增评论ID主键USER_IDINT评论用户外键TITLE_IDINT评论的投票外键CONTENTVARCHAR评论的内容TIMEDATE评论的时间54文件配置配置文件可以方便的存放一些常用而且不变的数据,比如数据库的信息。有利于我们开发网络投票系统。541PROPERTIES文件配置PROPERTIES文件里面的内容都是系统所必须的一些所必须的信息,而且这些信息通常是不会轻易改变的,开发者通常用键值对的形式存放里面的内容13。上面说的不轻易改变的信息放到配置文件中的好处就是,以后数据库有修改的地方,我只要修改配置文件就可以了,安全方便。如图55所示图55网络投票系统CONYTDBPROPERTIES文件542WEBXML文件配置WEBXML文件是项目的总配置文件,所有的请求都会经过它,它设置了一系列的很基本的功能,比如静态资源过滤,过滤器,404页面,SPRING的核心控制器,中文字符集设置,还有加载SPRING的配置文件的位置。如图56所示。图56网络投票系统WEBXML文件配置55网络投票系统的实现网络投票系统主要包括前台和后台管理2大块,其中前台包括登录模块、注册模块、忘记密码模块、首页模块、投票列表模块、投票模块、帮助模块、公告模块,后台管理主要包括用户管理模块、投票类型管理模块、投票标题管理模块、投票内容管理模块、公告管理模块。551前台登录模块的实现图57网络投票系统登录界面如图57是系统的登录界面。另外还有一个实用的并且常用的记住密码的功能,当用户登录之后,就可以进行相对应的投票还有评论功能。552前台注册模块的实现图58网络投票系统注册界面如图58是网络投票系统的注册页面,有一个验证码的图片,是后台生成的保存在SESSION中,验证的时候从SESSION中取出来。553前台忘记密码模块的实现图59网络投票系统注册界面如图59是网络投票系统的忘记密码页面,有一个验证码的图片,是后台生成的保存在SESSION中,验证的时候从SESSION中取出来。登录,注册,找回密码这3个页面都是有链接可以互相访问的。注册成功后,会跳到登录页面去。登陆成功后,会跳到你前一个正在浏览的页面去,如果没有前一个页面,就跳到首页。554前台首页模块的实现图510网络投票系统首页页面如图510是网络投票系统的首页页面,首页就是展示一些热门的投票,最新的投票,还有一些随机的猜你喜欢的投票,在最上面还有一个导航栏。可以很方便让用户知道你该点那里。并且在最下面有几条本网站所必须遵循的原则,这也是投票网站最基本的准则。555前台投票模块的实现图511网络投票系统投票列表页如图511就是网络投票系统的投票列表页,投票模块算是这个网络投票系统的核心模块了,投票模块包含了投票列表模块,投票详情模块,投票结果统计模块,这个页面的话是最先看到的投票列表模块。右侧是一个投票内容的排行榜,分别按照最热门(投票数量),最新(投票时间)来排序的分别取了前5个,这个右侧的排行榜其实也是一个公用的模块,和头部,底部是一样的,系统在帮助模块有用到它。排行榜点进去是具体的投票详情页。(详情页和帮助页面下面会有)左侧的话就是一个投票列表展示页。首先它是有2个筛选的,如图512所示图512筛选条件分类的话是开发者在后台管理中管理员自己录得,是动态生成的分类筛选。(后面会有关于后台的介绍)下面的热门,最新,就是写死的。再往下就是投票列表,用户随机选取一个投票内容来看,如图513所示图513投票内容它的一些信息也会显示在上面,比如这个投票的标题,这个投票的分类,时间,以及当前有多少人参与了这个投票。最下面的话,就是一个分页本系统10个为一页,如图514所示图514分页分页做了严格控制,样式控制,当前页数,总共页数。比如第一页的时候上一页这个按钮就无法点击,最后一页的时候,下一页就无法点击。分页也是一个公用的东西。投票详情页如图515所示图515投票详情页随便点击一个列表页中的一个投票点进去的时候,对应的就是这个投票主题的投票页面了。比如用户点击了最佳女主角这个投票主题,就会进入这样一个投票页面。这个投票页面的所有内容都是数据库关联查出来的。都是在后台管理中自己增加的。包括图片。都是后台可以管理员可以自己操控的,也可以删除。而且这个页面是HTML5做的,手机端也是完美自适应的,这样子就可以很方便手机用户进行投票和浏览了。然后就是投票,这时点击投票按钮,因为用户还没登录,它就会跳转到登录界面。等你登录成功后,它就会跳转到你投票的这个页面,就是你刚刚看的前一个投票页面。因为用户在做测试的时候,用户登陆的这个帐号已经投过票了,所以页面显示是这样子的了,如图516所示图516投票详情页面投票的按钮灰掉了,因为用户这个帐号已经投过票了,灰掉的的时候就无法在投票,防止了恶意刷票。而且很明显可以看出来用户当时投的是2周杰伦上面显示已投票,这和1、小鸡炖蘑菇投它一票是不一样的。当然如果用户没有投票会是怎么样子的,这时候用户注销登录,重新换个帐号登录。点击注销,从新换号登录。页面如517所示图517投票详情页此时点击用户要投票的选项,此时页面刷新如图518所示图518投票详情页并且2号选项,周杰伦票数加1,此时其它选项按钮也都灰掉了。在最下面有一个评论的按钮,然后就是评论,这时点击评论按钮,因为用户还没登录,它就会跳转到登录界面。等用户登录成功后,它就会跳转到用户投票的这个页面,就是你刚刚看的前一个投票页面。如图519所示图519投票评论并且上面的评论是按照时间排序的,评论过后页面刷新,用户的评论就在最上面了。如图520所示图520网络投票系统投票评论这个投票页面最上面还有一个查看结果的链接,点开就是最佳女主角这个投票的结果的柱状图。其实在这个页面上用户已经显示了投票数量了,但不够直观。如果是柱状图,就非常直观了,比如下面的投票选项女神投票数量最高。如下图521所示图521网络投票系统统计结果页面556前台帮助模块的实现帮助模块中都是一些经典的投票问题,还有就是一些投票的常识,以及这个网站某些功能的入口在哪里,为用户普及了一些投票的小知识。如图522所示图522网络投票系统帮助页面557前台公告模块的实现公告模块包括公告列表模块和公告详情页。都是在后台管理员手动添加的一些实时的公告,可以是投票的一些常识,可以是网站的一些事情,维护啊,网址的变更之类的,也有可能是举报某些数据错误的投票。列表页仍然采用了刚才的分页,如图523所示图523网络投票系统公告页面558后台用户管理模块的实现输入正确的用户名和密码后,管理员开始登录系统。在成功登录系统之后,可以操作以下五个模块用户模块管理、投票类型模块管理、投票主题模块管理、投票内容模块管理、公告模块管理。用户模块管理,主要是后台管理员对用户的一个操作,可以查找用户,增加用户,修改用户,删除用户,基本上这个模块是很少用得到的,除非某些用户传播负能量。如图524所示图524网络投票管理的用户模块管理559后台投票类型管理模块的实现投票式管理模块,主要在后台进行的投票类型的管理。可以查找投票类型,增加投票类型,修改投票类型,删除投票类型。并且在后台所操作的数据都会影响前台投票类型的数据展示。如图525所示图525网络投票系统5510后台投票主题管理模块的实现投票主题管理模块,主要是后台对前台投票主题的一个管理。可以查找投票主题,增加投票主题,修改投票主题,删除投票主题。并且在后台所操作的数据都会影响前台投票主题的数据展示。如图526所示图526网络投票系统投票主题管理模块5511后台投票内容管理模块的实现投票内容管理模块,主要是后台对前台投票内容的一个管理。可以查找某些投票内容的信息,增加一个新的投票内容,修改已经存在的某个投票内容,删除某些已经存在的投票内容。并且在后台所操作的数据都会影响前台投票内容的数据展示。如图527所示图527网络投票系统后台投票内容管理模块5512后台公告管理模块的实现公告管理模块,主要是后台对前台公告的一个管理。可以查找公告,增加公告,修改公告,删除公告。并且在后台所操作的数据都会影响前台公告的数据展示。如图528所示图528网络投票系统公告管理模块56本章小结本章节是论文的重点,详细介绍了网络投票系统的具体实现,从网络投票系统系统的开发运行环境开始介绍,其次是网络投票系统使用的分层思想,接着是数据库的设计,一个好的数据库的设计可以使项目完成事半功倍,然后在MYECLIPSE中进行相关文件配置,最后是网络投票系统功能的实现。通过截图直观展示了网络投票系统的操作界面,配上文字说明,可以使读者在阅读的同时学会操作网络投票系统14。第六章系统测试与维护61软件测试概述一个系统多多少少肯定是有一些BUG的,为了尽量避免掉这些问题,系统要通过测试,来发现这些问题,然后由本系统的软件测试工程师告诉系统的软件开发工程师,然后系统的软件开发工程师来解决掉这些问题。测试可以使一个系统更加安全,完美ERRORREFERENCESOURCENOTFOUND。62数据合法性测试用户先在后台用管理员帐密码111111登录在后台手动添加投票类型,输入投票类型名称,用JAVASCRIPT控制,弹窗提示,用户输入电影,点击保存,提示用户保存成功。这时候新建投票主题,填写投票主题名称,最佳歌手,选择时间,总投票数量默认为0,选择投票类型,选择用户刚刚新建的电影,选择一个投票主题图片,点击保存,系统提示我保存成功。这时候为最佳歌手新建投票内容,即投票选项。填写投票内容周杰伦,投票数量仍然默认为0,选择一张周杰伦的图片,点击保存,系统提示用户保存成功。其它的几个选项林俊杰,王力宏,女神同上。这时候用户在前台就可以看到最佳歌手的投票主题,点进去,看到四个选项,周杰伦、林俊杰、王力宏、女神。这时候用户可以点击投票,跳转到登录界面,发现没有帐号,点到注册页面,用手机号注册,用JAVASCRIPT进行验证,注册成功后,跳转到登录界面上,用刚刚注册的帐号密码进行登录。登录成功后,跳转到刚刚投票的页面,投女神一票,此时页面刷新,女神票数加一,在最上面还有链接查看结果,点击进去结果统计页面,柱状图显示结果,直观清楚。最投票页面的最下面,还有评论的功能,也必须要登录,我评论一句,有没有既好吃,又便宜,量又大的零食点击发送,评论成功。主要功能的测试就完成了。63系统报错处理对于404错误,一般是URL输入错误,比如这样的链接HTTP/LOCALHOST8080/VOTEDEMO/VOTE/DETAIL/250,如果后面的编号在数据库中找不到相应的数据,就会出现404错误,即找不到数据。这是很常见的错误,本系统参考了大麦网等一些网站的错误提示。应用了404页面。在网络投票系统中,系统为了简化操作,系统如果404错误,会跳转到ERRORHTML页面,报错页面如图61所示。图6

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论