《基于java的在线投票系统毕业设计论文.pdf》由会员分享,可在线阅读,更多相关《基于java的在线投票系统毕业设计论文.pdf(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目录I目录摘要.IAbstract.II第一章 引言.1第二章 需求分析.22.1 技术分析.22.2 经济分析.22.3 模块分析.22.4 总结:.3第三章 系统应用及关键技术.43.1 Java 介绍.43.2 JSP 技术.43.2.1 JSP 简介.43.2.2 JSP 运行机制.53.3 MYSQL 数据库.53.3.1 MYSQL 简介.53.3.2 SQL 语句.63.3 Tomcat 服务器.63.4 Eclipse 开发工具简介.7第四章 系统的功能需求和总体设计.84.1 系统功能模块.84.2 数据库表设计.94.2.1 用户表.94.2.2 投票表.94.2.3 选项
2、表.104.2.4 得票统计表.104.3 总体用例分析.114.4 流程分析.12目录II第五章 系统的详细设计.145.1 数据库与 DbUtil 类映射的实现.145.2 主要模块的设计说明与界面.145.3 系统的测试.23结论.25参考资料.26摘要III摘要在互联网飞速发展的今天,仅仅依靠原始的人工收集数据,进行纸质化管理,企业收集信息部门面对大量的信息,在浪费了大量的人力、物力、时间,也无法准确、有效的从中取出关键信息,并做出相应的判断和处理,避免公司的危机和获取发展的机遇。同时,用户也没有一个相对方便、简单上述需求的途径。因此,如何有效收集信息和做出相应的判断和处理是当前急需的
3、。随着科学技术的发展和不断进步,计算机的应用技术也日渐成熟,其强大的功能也深入人心,应用范围早已普及世界各地,并且在各个人们生活和发展的领域占有着必不可少的角色。在拥有先进的计算机技术和成熟的互联网时代下,逐步建立一个完善的、智能的、先进的投票系统。而编写一个在线投票系统,最关键的是可以根据用户的需求,快速、简单的创建一个投票的主题,设定投票的时间段,并实现从数据库中添加被选对象,发布到前台。也可对过期或错误的活动进行修改和删除,还能及时查看投票的进程和反馈的结果,满足用户的实时性查询。在登陆系统时,对用户的身份进行判定,每个账号都有不同的权限。普通账号只能对活动没有过期的活动进行投票和查看结
4、果,而管理员账号不但可以进行投票和查看结果,而且还可以在后台对过期用户和活动进行处理。本次毕业设计的内容是设计并且实现一个基于 Java-web 的在线投票系统,系统将使用 Eclipse 来作为开发工具,而数据库则使用的是中小型数据库-MYSQL,以及用到了 Dreamweaver 作为界面开发工具。本次项目基本实现了网上在线投票系统应有的主要功能模块。关键词:在线投票系统 JAVAMYSQLAbstractIVAbstractToday,the rapid development of the Internet,relying only on the originalmanual coll
5、ection of data to carry out paper management,enterprise collectioninformation department face a large amount of information,waste a lot ofmanpower,material resources,time,and cannot accurately and effectively removethe key information,and make the corresponding judgment and treatment to avoidpublic.
6、The crisis of the division and the opportunity to gain development.Atthe same time,users do not have a relatively convenient and simple way to meetthe above needs.Therefore,how to effectively collect information and makecorresponding judgments and treatments is urgently needed.With the developmentan
7、d continuous progress of science and technology,the application of computertechnology is also mature,its powerful function is also deeply rooted in thepeoples mind.The application scope has long been popularized all over the world,and it occupies an indispensable role in the life and development of
8、the people.With advanced computer technology and mature Internet era,we will graduallyestablish a perfect,intelligent and advanced voting system.To write an online voting system,the key is to create a voting topic quicklyand simply according to the needs of the user,set the time of the vote,andadd t
9、he selected objects from the database and publish it to the front desk.It can also modify and delete the overdue or erroneous activities,and can alsocheck the process of voting and the result of feedback in time to satisfy theusers and meet the users real-time query.In landing system,the usersidenti
10、ty is determined,each account has different permissions.Ordinaryaccounts can only vote and view the results of activities that have not beenoverdue,and the administrators account can not only vote and view the results,but also handle the outdated users and activities in the background.The content of
11、 this graduation design is to design and implement an onlinevoting system based on Java-web.The system will use Eclipse as a developmentAbstractVtool,while the database uses small and medium database-MYSQL,and Dreamweaveris used as an interface development tool.This project basically realizes themai
12、n functional modules of online voting system.Key words:online voting system JAVA MYSQL第一章 引言1第一章第一章 引言引言21 世纪的如今,互联网飞速发展,世界网民的额数量急剧增加,网上信息漫天飞舞,企业竞争激烈。那么企业如何能及时掌握用户的最新需求呢?如果还是按照以往传统的人工走访和调查问卷,白白花费了大量的金钱、时间,还是不能及时的得到反馈。这时,网上在线投票系统随着时代和社会的需求而诞生,它打破传统的时间和空间的限制,受到企业家们热烈欢迎,大大节省了开销,使企业在激烈的竞争中取得先人一步的巨大优势。开发
13、此系统是为了把当前社会上的一些关键信息回馈给用户,大大提高了信息来源的广泛和收集信息的效率。也给用户提供了一个述求需求的渠道。而在线投票系统的现世刚好迎合了这个时机,各大企业、公司、学校都慕名而来,企业、公司用来选拔和吸收人才,收集客户实时信息。学校可用来评选优秀讲师和成绩优异的学生。甚至到后来,连机关单位也开始使用投票系统来实现选举,节省了大量的时间、空间和物力。随着互联网的不断发展,网络在线投票系统必将取代传统手工投票,这是大势所趋。本系统采用的是 java 技术,使用的是 MySQL 数据库。jsp+servlet+dao 实现了 mvc三层架构。用户在访问本系统的时侯,需要输入账号和密
14、码,如果没有,就需要创建一个账号,填写一些基本的用户信息就可以了。在登陆的时侯,在线投票系统会根据用户账号来自动识别用户的权限。如果是管理员账号则跳转到后台管理模块,管理员拥有的权限相对较大,可以对用户信息进行维护,也可根据用户标识来搜索用户详情,可创建投票主题,规定投票期限,发起投票。普通用户则跳转前台页面,可选择热门活动,进行投票,结束后可以查看实时投票状况。除此之外,还包括一些 JavaScript、Jquery等技术实现的显示系统当前时间,控制投票次数和时间等功能。第二章 需求分析2第二章第二章 需求分析需求分析我们要了解设计网站的目的和用户需求,然后去做可实行的规划。2.12.1 技
15、术分析技术分析JAVA 就不多说了,所有编程语言中最稳定的编程语言。JAVA 使用的是面向对象的编程思想,实现功能能力强、分支众多,基本上没有 JAVA 不能做的软件,无论是从客户机到服务器还是从浏览器到服务器,java 都能实现,所以说从功能上来讲,没有语言可以和 JAVA 相比。它还可以实现多层架构,比如说数据库层、应用逻辑层、表示层,它们彼此都是不在一起的,而且不同的层都已经有一些成熟的开发框架的支持。MySQL 是一个小型的关系型数据库。由于其占用内存小,运行速度快,特别是开放源代码这一特点,受到许多中小型网站的欢迎,许多中小型网站都会选择 MySQL 作为其网站数据库,用来降低网站的
16、开发成本。2.22.2 经济分析经济分析此系统所使用的技术都是免费的,不需要花钱购买。而且此系统操作简单,一般由一个操作人员维护即可,日常的设备消耗和人员消耗非常少。所以说,从经济方面来说也是可行的。2.32.3 模块分析:模块分析:1).用户模块:2-1 用户模块图第二章 需求分析3如上图所示,普通用户拥有用户注册;进行投票;结果查询等权限。2).管理员模块:2-2 管理员模块图如上图所示,管理员有以上权限,可对数据库中的用户信息进行删减、修改和增添。2.2.4 4 总结:总结:(1)能够完成用户基本信息的录入和维护。(2)能够完成管理员对投票主题、信息管理,以及管理员身份验证的功能。(3)
17、能过够通过名称,对候选人进行搜索,且可对其进行操作。第三章 系统应用及关键技术4第三章第三章 系统应用及关键技术系统应用及关键技术3.13.1 JavaJava 介绍介绍1995 年,美国 Sun Microsystems 公司正式向 IT 业界推出了 java 语言,该语言具有安全、跨平台、面向对象、简单、适用于网络等显著特点,当时以 web 为主要形式的互联网正在迅猛发展,java 语言的出现迅速引起所有程序员和软件公司的极大关注,程序员们纷纷尝试用 java 语言编写网络应用程序,并利用网络把程序发布到世界各地进行运行。包括IBM、Oracle、微软、Netscape、Apple、SGI
18、等大公司纷纷与Sun Microsystems公司签订合同,授权使用 java 平台技术。微软公司总裁比尔盖茨先生在经过研究后认为java 语言是长时间以来最卓越的程序设计语言。目前,java 语言已经成为最流行的网络编程语言,截止到 2001 年中,全世界大约有 310 万 java 程序员,许多大学纷纷开设 java 课程,java 正逐步成为世界上程序员最多的编程语言。3.23.2 JSPJSP 技术技术3.2.1 JSP 技术简介JSP(Java Server Pages)是由 Sun Microsystems 公司倡导、许多公司参与 一 起建立的一种动态网页技术标准。JSP 技术有点
19、类似 ASP 技术,它是在传统的 网页 HTML文件(*.htm,*.html)中插入 Java 程序段(Script let)和 JSP 标记(tag),从而形成 JSP文件(*.Jsp)。用 JSP 开发的 Web 应用是跨平台的,即能在 Linux 下运行,也能在其他操作系统上运行。JSP 技术使用 Java 编程语言编写类 XML 的 tags 和 script lets,来封装产生动态网页的处理逻辑。网页还能通过 tags 和 script lets 访问存在于服务端的资源的应用逻辑。JSP 将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于 Web 的应用程序的开发
20、变得迅速和容易。Web 服务器在遇到访问 JSP 网页的请求时,首先执行其中的程序段,然后将 执行结果连同 JSP 文件中的 HTML 代码一起返回给客户。插入的 Java 程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。第三章 系统应用及关键技术53.2.2 JSP 运行机制JSP 运行原理图:Web浏览器JSP 页面生成的 servlet编译的 servletWeb 服务器2 第一次编译3 第二次编译1请求4响应3-1 JSP 运行机制图如上图所示,JSP 运行机制大概可以分为以下几个步骤:1.客户端发出请求,得到一个 JSP 文件。web 服务器用得到的 JSP 文
21、件生成 java文件。2.java 文件生成对应的 class 字节码文件,字节码文件是可以通过 class loader加载进虚拟机的。3web 容器加载 class 字节码文件。4.web 容器通过反射等手段建立实例。5.调用对应的 jspInit 来进行实例初始化。6.调用 JSP 的 service 方法,响应用户的请求。7.调用 jspDestroy 销毁实例。3.33.3 MYSQLMYSQL 数据库数据库3.3.1 MySql 简介1.首先我们说一下,什么是 MySQL?他是一种关系型数据库管理系统,把数据保存在不同的表中,而不是堆在一起,所以它的灵活性强、速度也快;它有两种模式
22、:商业版跟社区版,一般新人学生什么的,第三章 系统应用及关键技术6用的都是社区版;而且因为它内存小、运行速度快、日常消耗的成本低、最主要的是开放源码。所以一些中小型企业为了节约成本都在使用其作为网站的数据库,SQL 语句是 MYSQL 数据库中用来查询数据库的结构化查询语言;2.其次我们再来看一下 MYSQL 都有哪些特点?其实上面已经提及到,就是体积小、使用成本低、可移植性强、适用用户范围广;3.谈一谈数据库都能干啥?a)存储大量的数据,方便检索跟访问b)保存信息数据信息的一致和完整c)共享和安全d)通过组合分析,产生有用信息4.MYSQL 的运行机制:a)支持接口有:PHP、Python、
23、API、JDBC、Perl、CDBC、Ruby、NET,是跟连接池相连,用来连接数据库b)连接池:里面有一些连接对象,使用的时候可以直接提取;是用来建立连接通道注:建立连接-每次执行前,都要新建立连接通道,并且使用结束,一定 要 关闭这个通道!正是因为每次都要建立连接,麻烦影响效率,所以连接池才会应运而生c)对数据库的一些操作都有哪些?数据的备份和恢复、安全、复制、群集、分区管理、查询浏览、合并工具、数据模板管理。3.3.2SQL 语句SQL 分类:数据定义语言(DDL):CREATWE,ARTER,DROP,LARE。数据操作语言(DML):SELECT,UPDATE,DELETE,INSE
24、RT。数据控制语言(DCL):GRANT,REVOKE,COMMIT,ROLLBACK。3.3.4 4 TomcatTomcat 服务器服务器Tomcat 是一个免费的开源的 Servlet 容器,它是 Apache 基金会的 Jakarta 项目中第三章 系统应用及关键技术7的一个核心项目,由 Apache,Sun 和其它一些公司及个人共同开发而成。由于有了 Sun的参与和支持,最新的 Servlet 和 Jsp 规范总能在 Tomcat 中得到体现。Tomcat 中采用了 Servlet 容器:Catalina,完整的实现了 Servlet2.3 和 Jsp1.2规范。Tomcat 提供了
25、各种平台的版本供下载,可以从其官方网站上下载其源代码版或者二进制版。由于 Java 的跨平台特性,基于 Java 的 Tomcat 也具有跨平台性。3.3.4 4 EclipseEclipse 开发开发工具工具Eclipse 是 java 的开发平台,简称 IDE,。它的功能非常齐全,可以安装各种插件。比如 SVN、myeclipse 等一系列插件,特别是 myeclipse 插件,由于其功能功能完善,受到很多程序猿的喜爱,后来直接将 eclipse 并入到 myeclipse 中了。Svn 也是非常受欢迎的,特别适合项目组团队开发,将项目保存在 svn 上,不用担心损坏项目。Eclipse还
26、有一个功能也特别受欢迎,那就是 DEBUG,自从有了 DEBUG,程序员们得少掉了多少头发。第四章 系统的功能需求和总体设计8第四章第四章 系统的功能需求和总体设计系统的功能需求和总体设计4.14.1 系统功能模块系统功能模块功能模块图:4-1 系统功能模块图如上图所示,在本系统中主要阐述前台与后台,后台又分为:投票管理和信息维护二个模块。1.前台模块:用户注册用户登陆活动查询选择投票结果浏览2.后台模块:A)投票管理创建投票:管理员根据活动规则创建投票。第四章 系统的功能需求和总体设计9查看结果:管理员可以查看正在进行的投票活动或者以结束的投票活动。删除投票:管理员对过期的投票活动进行删除维
27、护。B)信息维护添加被选举人:手动录入用户信息,并进行添加。修改被选举人:修改用户信息。查找被选举人:根据用户的特殊标识进行搜索,搜索结果显示在页面。删除被选举人:对过期用户进行清理。4.24.2 数据库表设计数据库表设计根据上述功能需求,该系统用了用户基本信息表、投票活动管理信息表、备选对象信息表以及投票表和备选对象表的关系表,用来存储被选对象得到的票数。4.2.1 用户表:保存用户的基本信息,id 为主键自增长4-2 数据库用户表示例图4.2.2 投票表:存储投票活动的主题、开始时间、结束时间和投票规则,id 为主键自增长第四章 系统的功能需求和总体设计104-3 数据库投票表示例图4.2
28、.3 选项表:存储被选对象的基本信息,id 为主键自增长4-4 数据库选项表示例图4.2.4 票数统计表(投票表的从表)存储投票的结果,id 为主键自增长4-5 数据库得票统计表示例图第四章 系统的功能需求和总体设计114.34.3 总体用例分析总体用例分析4-6 普通用户用例图4-7 管理员用例图如图所示,整个系统有两个参与者。分别是普通用户和管理员。数据库为系统的所有用例提供数据,保证系统的正常运行。系统的用例主要有五个,分别为:投票、投票结果访问、登陆、管理投票话题、管理投票选项。“投票”用例主要的功能是普通用户对某个投票话题进行投票,在用户进行投票时检测用户是否已经投票了该话题,保证每
29、个用户都一个话题只能投一次票。第四章 系统的功能需求和总体设计12“投票结果访问”用例将为用户展示当前活动的各项基本详情,比如活动状态、投票的规则和得票情况。“登录”用例主要就是识别用户的身份信息,保证系统的安全。“管理投票话题”用例则是负责对投票活动进行维护(即删除和修改功能)。“管理投票项”用例负责为管理员提供添加和删除选项的功能。4.4.4 4 流程分析流程分析流程图:4-8 系统流程图流程说明:(1)首先,用户来到登陆界面,如果有账号则直接登陆,没有的话就先注册。注册时录入信息,录入项不能为空。注册完成,进行登陆,在登陆时,系统会自动根据用户账号来判断用户权限。(2)如是用户的身份是管
30、理员,那就直接跳转到后台的管理模块,可对用户进行添加、修改、删除和查找。可新建投票,手动录入投票主题、开始时间、结束时间和投票规则。可对被选人进行维护。第四章 系统的功能需求和总体设计13(3)如果是普通用户,则来到前台页面,可浏览各种热门活动,如果活动过期,则会自动禁止投票,等待管理员维护。可在投票前后查看投票的实时状况。第五章 系统的详细设计14第五章第五章 系统的详细设计系统的详细设计5.15.1 数据库与数据库与 DbUtilDbUtil 类映射的实现类映射的实现此系统采用的 jdbc 来连接数据库。首先写一个 util 类,导入 mysql 的驱动包。然后创建一个 Connectio
31、n 对象,在类中给三个属性 url、user 和 password,分别代表数据库地址、数据库账号、数据库密码。导入 MySQL 的驱动包(不可少),加载 MySQL驱动,获得 connection 对象;如果 connection 的返回值不报异常且不为空则代表数据库连接成功。5.25.2 主要模块的设计说明与界面主要模块的设计说明与界面详细设计是软件开发过程中一个必不可少的步骤,我们不可能凭空想象的去开发系统,我们得有详细的设计说明和开发文档才能着手开发。5.2.1 前台用户模块在线投票系统登陆:5-1 系统登录页面示例图在线投票系统注册:第五章 系统的详细设计155-2 投票系统注册页面
32、示例图首先,此页面是进入本系统的唯一途径,是系统的安全保障。用户打开登陆窗口,如果有账号则根据用户名直接登录,如果没有的话就单击注册 BUTTON 进入注册窗口。注册和登陆窗口的文本框都用 js 进行了的判断的,是不允许为空的。如果为空,页 面会弹出警告框,禁止登陆和注册。当用户在文本框中输入账号和密码,单击登录 BUTTON。系统这时会抓取页面文本框中的信息传到后台,后台在根据传过来的数据去数据库中查找对应的数据。如果数据库中存在此用户,并且密码正确,那么,接下来就会判断用户的权限。如果是管理员则直接进入后台管理模块,如果是普通用户就进入前台展示页面。如果登陆的账号或密码不正确,则会停留在登
33、陆界面,并弹出提示框,等待用户重新输入。用户注册则是当用户将需要录入的信息填写完全,点击提交。如果注册成功,则返回登陆界面,如果注册失败,则停留注册页面,并且弹出提示框,等待用户重新注册。在线投票系统前台首页:第五章 系统的详细设计165-3 投票系统用户首页示例图此页面普通用户登陆成功时所展示的页面,左上角会显示当前用户的用户名。而页面所展示的是十个热门活动,用户可以根据自己的喜好来挑选活动,并投上宝贵的一票。此功能的实现方法是用 Servlet 从后台(DAO 层)获取数据传到前台(JSP)。在Dao 层中,编写一条查询所有活动的 Sql,“ps=con.prepareStatement(
34、Sql)”预执行Sql,“ps.executeQuery()”得到返回的对象,用一个 while 来将所有的数据装到一个map 集合中,返回给 servlet 容器。容器得到数据后会将数据响应(response)给客户,也就是将数据遍历到 Jsp 页面。到此,一个简单的从用户请求到响应的功能就实现了。当然,只是将数据显示在页面还是不够的,为了页面的美观,我们规定只能显示十条数据,其余数据将通过翻页重新加载,翻页所使用的技术是 JQuery 的 Ajax 技术,Ajax实现的是异步刷新,也就意味着不在重新加载整个网页就可以实现数据交互。下拉页面会显示下十条数据,知道没有数据,就显示没有多余活动。
35、下面是 Dao 层获取数据的详细代码:public class VoteDao private Connection con=null;private PreparedStatement ps=null;private ResultSet rs=null;private DbUtil db=new DbUtil();public ListMap getList(int vote_id)第五章 系统的详细设计17ListMaplist=newArrayListMap();try con=db.getCon();String sql=select c.*,b.people_id,b.name,b.
36、img from detailed ainner join people bon a.people_id=b.people_id inner join vote c ona.vote_id=c.vote_id where a.vote_id=?;ps=con.prepareStatement(sql);ps.setInt(1,vote_id);rs=ps.executeQuery();while(rs.next()Map map=new HashMap();map.put(vote_id,rs.getString(vote_id);map.put(zt,rs.getString(zt);map
37、.put(start_time,rs.getString(start_time);map.put(stop_time,rs.getString(stop_time);map.put(sad,rs.getString(sad);map.put(people_id,rs.getString(people_id);map.put(name,rs.getString(name);list.add(map);catch(Exception e)/TODO Auto-generated catch blocke.printStackTrace();return list;在线投票系统投票:第五章 系统的详
38、细设计185-4 投票系统用户投票页面示例图在线投票系统投票页面可以说是此系统的核心部分,整个项目的其他功能都是围绕此功能来实现的。当用户选择了某个活动时,就会来到此页面。根据活动主题的 ID 得到活动的详细情况,包括活动周期、投票方式、被投票的对象。并且还根据创建投票时所设定的规则进行了相关控制。比如说如果是只有一票的话,用户只能点击其中一个单选框,其余单选框将会被禁用,如果是多选的则可以选择多个选项。当活动过期的时候,页面上的提交按钮是被禁用的,也就是活动过期禁止投票。在线投票系统活动详情:5-5 投票系统活动详情页面示例图第五章 系统的详细设计19活动详情页面会将主题显示在一个文本框中,
39、并且将文本框禁用,只能看,不能修改,用的是 H5 的标签属性。显示活动的开始时间、结束时间和投票方式。然后将得票情况在下面的一个 table 中显示,系统会自动按得票数进行降序排序。5.2.2 后台管理模块投票系统用户管理界面:5-6 投票系统后台用户管理页面示例图用户管理是大部分系统都会有的模块,它负责系统所有用户的信息维护,也是系统的唯一钥匙。只要注册过的用户,都会显示在列表当中。如果有些用户已经不再使用该系统,管理员也可以手动删除用户的相关信息,如上图所示,单击要删除的用户相对应的 BUTTON,系统会给出一个提示,提示是否确定执行当前操作。如果点是则会将此用户的信息永久从数据库去除,并
40、且重新加载页面。如果点否,那么此次操作将取消,二次确认将避免误删,下面是上图的页面代码:用户管理%ListMaplist=(ListMap)request.getAttribute(list);%第五章 系统的详细设计20UserIdname密码出生年月性别籍贯删除%if(list!=null)for(int i=0;ilist.size();i+)Map map=list.get(i);%td id=inputtype=buttonvalue=删除onclick=fun()%活动管理查看界面:第五章 系统的详细设计215-7 投票系统活动管理页面示例图此页面将显示所有的活动,并且自动编号排序
41、。管理员在此页面上可对活动进行查看和删除。点击新建投票,填写对应的主题、活动时间和相应规则,从人才库勾选备选对象,就可以新建投票了。投票系统候选人维护:5-8 投票系统候选人维护页面示例图将所有的被选人信息集中起来,被选人姓名、性别、出生年月和详细简介等信息是此系统的关键,当创建投票时,可以直接来信息库中挑选被选人,省去了手动输入的麻烦,并且资料详细。为了方便维护,在这里我还加了删除和修改按钮,可以随时更新被选人信息,在右上方还加了个搜索框,如果被选人信息过多,可以根据被选人的姓名来直接搜索,节省了大量的时间。第五章 系统的详细设计22投票系统候选人修改:5-9 投票系统候选人修改页面示例图如
42、上图所示,管理员点击信息管理界面的修改按钮,进入修改页面。系统会将需要修改的候选人信息展现在页面上,并且是可编辑状态。确认修改完后,单击提交 BUTTON,如果修改成功的话会给出提示并且返回主页面,失败的话给出提示,保留当前页面信息。在线投票系统候选人添加:5-10 投票系统候选人添加页面示例图管理员点击添加进入添加页面。填写候选人的姓名,勾选性别,填写出生年月。然后在补充完整的候选人信息。点击提交时,js 方法会先判断信息是否填写完整,如果不完整,将会 alert 提示管理员,等待管理员录入完整信息。如果提交成功会给出提示并返回候选人维护页面,如第五章 系统的详细设计23果提交失败就会停留在
43、当前页面。投票系统候选人搜索:5-11 投票系统候选人搜索页面示例图为了防止候选人信息量过大而找不到对应候选人信息,我特意增加一个搜索功能,只要根据用户的姓名就可以在数据库中模糊查询,将候选人信息显示出来。5.35.3 系统的测试系统的测试个人认为测试是项目开发过程中最重要的一个环节,一个项目就是需要不断的测试来找到项目中的 bug,通过不断的测试才能使项目的功能日益完善。而且测试并不仅仅是为了找出错误,更是为了程序员在这个找错的过程中完善自己。当然如果在测试的过程中没有发现 bug 这是最好不过的,因为这说明在项目的开发的质量是非常好的。测试一般有两种方法:黑盒测试和白盒测试黑盒测试:黑盒测
44、试又被称为功能测试,是通过整个或者某个功能软件来严格测试的,并且没有通过测试的部分可以让程序员轻松的查找到。白盒测试:白盒测试指的是查看源代码来发现问题。对于本系统,我采取第一个方法,即黑盒测试。做完一个模块,就进行测试,看所做的模块能不能实现所需要的功能。首先编写的是用户登录与注册模块本模块在校期间经常编写,所以在编写过程中基本上没有遇到什么卡壳的地方;我在用户登录注册的过程中加入了一些约束条件,比如在注册的时候用户名、密码不能为空,且两次密码要一致。然后编写的是用户管理模块在编写此模块的时候先将用户的基本数据录入到数据库中,然后在对数据库中数据进行读取和修改以及删除功能的一步步实现。最后第
45、五章 系统的详细设计24编写的就是投票模块了投票模块先对前面的用户模块而言要有难度一些,它要既要控制活动的时间,又要控制投票人投票的次数,还要将个人所得票数进行排序。在一步一步的努力下,最终还是将这个功能实现了深。将所有的模块拼接成功后,项目达到了预期的要求,这个项目就算是基本完成了。结论25结结论论通过这次的课程设计,我学到了很多。由于自己当初学习不认真,没好好听老师讲课,所以在编写代码的时候困难重重,翻了一些关于 JSP 的书籍,访问了大量 Web 网络开发方面的网站,搜集了很多关于 Web 投票系统的文档作为参考和运用才得以弄懂 JSP以及它的相关应用。本系统仅仅是一个功能简单的投票管理
46、系统,还有一些附加功能尚未来得及添加,例如可以加一个用户评论留言模块,在开发的过程中也遇到了很多问题,比如怎么实现对票数的自动增长、怎么实现对票数的票数从高到底排序。当我遇到这些问题时,及时向老师,同学以及学长们请教,在他们的细心教导下,逐渐完成功能,让我更加对 JSP以及 SERVLET 深入地了解了。在本系统开发过程中,我认识到无论做什么重要的是得先分析系统、建立起系统模型,明白此系统所需要的是什么,然后建一个系统的基本模型。在开发的时候,一切要以客户为主,根据客户的要求去实现,并且还得为系统的发展性考虑,在以上基础上再来对功能和效率严格要求。这次的课程设计,让我明白了在你纠结于一个问题很
47、久时,你的朋友则会给你宝贵的意见,因为人有时会思维定式。以后,我要更加好好的学习关于 web 方面的知识,作为计算机学院的毕业学生,在今后的人生中,编程是我们的专业和饭碗,由于计算机发展很快,我们得不断地提高自己的综合能力,不断地努力、加油!本次毕业设计是自己认认真真写完的,其中得到了老师和同学们的大量帮助。真诚感谢老师的细心指导和同学们的热情帮助。感谢张家界航空工业职业技术学院软件技术所有教过我的老师,正是他们的无私奉献,让我们茁壮成长,扬帆起航,破浪前行。在此祝愿帮助过我的人一生平安。参考资料26参考资料1Dreamweaver 网页设计与制作:质地出版社;2北京尚学堂:servlet&Jsp:背景上学堂马士兵教学视频;3陈凡、何红洁 编著 JSP 应用教程 清华大学出版;4 孙涌.现代软件工程M.北京希望电子出版社,2003.8:1-246;5 萨师煊,王珊.数据库系统概论M.高等教育出版社,2002.2:3-460;6 Brown.JAVA 编程指南(第二版)M.电子工业出版社,2003.3:1-268;7 清宏计算机工作室.JAVA 编程技巧M.机械工业出版社,2004.5:1-410;8 朱红,司光亚.JAVA Web 编程指南M.电子工业出版社,2001.9:34-307;9 赛奎春.JAVA 工程应用与项目实践M.机械工业出版社,2002.8:23-294;
限制150内