基于Java技术的在线投票系统设计

上传人:1888****888 文档编号:39267750 上传时间:2021-11-10 格式:DOC 页数:20 大小:903KB
收藏 版权申诉 举报 下载
基于Java技术的在线投票系统设计_第1页
第1页 / 共20页
基于Java技术的在线投票系统设计_第2页
第2页 / 共20页
基于Java技术的在线投票系统设计_第3页
第3页 / 共20页
资源描述:

《基于Java技术的在线投票系统设计》由会员分享,可在线阅读,更多相关《基于Java技术的在线投票系统设计(20页珍藏版)》请在装配图网上搜索。

1、毕毕业业论论文文(设设计计)题目 在线投票系统 学生姓名学生姓名 学号学号 班班 级级 专专 业业 分分 院院 指导教师指导教师 20082008 年年 0404 月月 0404 日日长春职业技术学院毕业设计(论文)专用纸第 1 页 目目 录录第第 1 部分部分 概概 述述.1第第 2 部分部分 分析部分分析部分.221功能需求.2第第 3 部分部分 系统设计系统设计.331功能模块设计.332数据库的设计.3第第 4 部分部分 系统开发系统开发.341数据库.3411创建数据库.3412创建表.4413连接数据库.442功能的实现.543问题及解决.5第第 5 部分部分 运行部分运行部分.5

2、51系统的安装.552系统的使用.6第第 6 部分部分 附附 录录.8附录 1 运行环境.81.1硬件要求.81.2.软件要求.9附录 2 设计代码.91.vote.jsp.92.result.jsp.103.add.jsp.114.del.jsp.135.display.jsp .146.modify.jsp.157. DBConnect.java.18长春职业技术学院毕业设计(论文)专用纸第 2 页 第第 1 部分部分 概概 述述在线投票系统主要用来统计网站用户对某个主题或热门话题的意见。决策者通过这些统计数据做出相应的决策。在线投票系统是一般网站必备的程序之一,如果网站开发者想了解用户对

3、该网站的意见和建议。他可以设计这样一个投票主题:你认为该网站如何?(A.很好B.一般 C.不好)然后提供给用户进行投票。我的投票系统具有极大的灵活性,投票类型分为单选投票和多选投票。管理员可以在线设计不同的投票主题供用户进行投票。对于该设计报告还有什么不当之处请见谅,同时也希望你能多提宝贵意见。我会认真参考您的意见,修改和完善该系统。术语列表:术语列表:JSP:(Java Server Pages) ,JSP 是一种基于 Java 的技术,用来产生跨平台和跨 Web 服务器的动态页面。JDBC:(Java DataBase Connectivity),Java 数据库连接。它主要是一套让你访问

4、数据库的 API,程序人员可以利用 JDBC API 来执行 SQL 语句。Servlet: Servlet 可以称之为“服务器小程序” ,与 Java application 不同,它没有 main 方法,而是用一些特定的方法用于启动、执行和退出。通过使用 Servlet,可以与运行与客户端的 Applet 进行交互,也可以直接与 HTML 页进行交互。JavaBeans: JavaBeans 是可复用的平台中立的软件组件,可以在软件开发工具中被直观地操作。应用程序开发者可以通过支持 JavaBeans 的开发工具,直接使用现成的JavaBeans,也可以在开发工具容器中,对组件进行必要的修

5、改、测试而不必编写和编译程序。在 Java 模型中,组件可以修改或与其他组件组合以生成新组件或完整的应用程序。HTML:(Hypertext Markup Language)超文本标记语言,它是组织多媒体文档的重要语言,它不仅用来编写 Web 网页,而且可以使用它来制作光盘上的多媒体节目。HTML 可用来编排文档、创建列表、建立链接等等。XML:(eXtensible Markup Language)可扩展标记语言,它是一种具有数据描述功能(Meta-language)、高度结构性及可验证性的语言。SQL:SQL:(Structured Query Language) ,结构化查询语言。SQL

6、 语言地任务就是与各种数据库建立关系,SQL 语言是关系型数据库的标准语言,大多数关系型数据库管理系统都支持 SQL 语言并采用了 SQL 的语言标准。MySQL:MySQL 是一个可用于各种流行操作系统平台的关系数据库系统,它具有客户机/服务器体系结构的分布式数据库管理系统。按照使用又可以分为 DML(Data Manipulation Language),即数据操作语言和 DDL(Data Definition Language)。长春职业技术学院毕业设计(论文)专用纸第 3 页 第第 2 部分部分 分析部分分析部分21功能需求功能需求通过对用户的需求调查分析,可以概括出用户的功能需求如下

7、:单选投票、多选投票、查看投票、投票设计。单选投票:用户只能从多个选项中选取一项进行投票。多选投票:用户可以从多个选项中选取多项进行投票。查看投票:提供用户查看当前投票情况,投票结果以条形图显示。投票设计:管理员可以设计不同的投票主题,及投票主题的内容供用户进行投票。投票 设计又包括以下功能需求:增加主题、删除主题、查看主题、修改主题。第第 3 部分部分 系统设计系统设计31功能模块设计功能模块设计通过对功能需求进行分析和概括得到如图所示的系统功能模块图:系统的功能模块图在线投票系统单选投票显示投票表单返回投票结果多选投票显示投票表单返回投票结果查看投票返回投票结果增加主题删除主题查看主题修改

8、主题投票设计32数据库的设计数据库的设计该系统的数据库采用 MySQL,根据投票系统功能设计的要求,可以列出以下数据项和数据结构:投票表:存放投票信息,数据项包括:序号、标识、选项类型、投票主题、投票选项内容、得票数。长春职业技术学院毕业设计(论文)专用纸第 4 页 第第 4 部分部分 系统开发系统开发41数据库数据库411创建数据库创建数据库CREATE DATABASE db70019618;412创建表创建表创建数据库中用到的投票表:CREATE TABLE vote( id INT NOT NULL AUTO_INCREMENT, flag int, optType int, ques

9、tion CHAR(255), optContent CHAR(255), number INT, PRIMARY KEY(id),);数据库创建后的结构图如下:413连接数据库连接数据库该系统使用了 MySQL 的 JDBC 驱动程序来连接数据库。因为对数据库的访问,在整个系统中比较频繁,所以我将对数据库的操作写成一个 DBConnect 的类,通过该类来连接数据库和访问数据库。/部分代码如下public DBConnect() try /加载数据库驱动程序长春职业技术学院毕业设计(论文)专用纸第 5 页 Class.forName(sDBDriver); /建立连接 conn = Driv

10、erManager.getConnection(sConnStr); catch (Exception e) System.out.println(DBConnect(): + e.getMessage(); 42功能的实现功能的实现投票流程图投票流程图:开 始显示投票表单是否取得参数否是取得投票的参数将结果写入数据库显示投票结果结 束累加投票数该流程图已经包含了在线投票系统的制作的主要方法。下面的工作实际上就是按照该流程图,写出具体的代码。在附录 2 设计代码中有我开发的代码,并附有注释。所以在这里我就不展开介绍每一个功能的开发过程。43问题及解决问题及解决这部分应该写在开发中遇到了哪些问题

11、,如何解决等。第第 5 部分部分 运行部分运行部分51系统的安装系统的安装该系统我在 j2sdk1.4.1_01+resin-2.1.9+MySQL-4.0.12-nt 环境下测试通过:安装步骤:安装步骤:该系统需要 JSP 运行环境和 MySQL 数据库,如果服务器还没有搭建的话请先搭建。长春职业技术学院毕业设计(论文)专用纸第 6 页 1.把 vote、WEB-INF(vote 文件夹存放的是.jsp 文件,WEB-INF 存放的是该系统使用到的一些.class 文件)文件夹上传到你的主机目录。2.修改 DBConnect.java 里连接 MySQL 数据库的 IP、用户名和密码为你自己

12、的 IP,user, password 修改编译之后放到 WEB-INFclasses目录下面。3请创建数据库 db70019517,然后使用 mysql db70019517vote.sql 脚本创建该数据库使用到的表。(脚本存放的路径 votevote.sql)4然后在浏览器输入 URL:(例如这是我的运行方法:http:/127.0.0.1:8080/vote/index.jsp)。 52系统的使用系统的使用为了直观,在这里我将主要通过程序运行截图来介绍该投票系统的使用。在浏览器地址栏里输入在线投票系统的 URL 后,将进入在线投票系统的首页。在首页中显示了该系统的操作。在首页中点击你所

13、要进行的操作,即可打开相应的页面。如点击“单选投票”链接即可打开单选投票页面。在首页中点击“多选投票“链接,打开多选投票页面。长春职业技术学院毕业设计(论文)专用纸第 7 页 在首页中点击“在线投票“链接后,可以查看在线投票的结果。在首页中点击“投票设计“链接后,即可打开投票设计中的”增加主题“,同时你会看到投票设计中的其它几项功能:删除主题、查看主题、修改主题、返回首页。增加主题的方法如下图所示: 在投票设计中点击“删除主题“链接后,即可打开删除主题页面。如果你要删除某个长春职业技术学院毕业设计(论文)专用纸第 8 页 主题以及其选项,只需在文本框中输入其 ID 号即可。 (如果你不知道待删

14、除主题的 ID 号你可以首先点击”查看主题“查看其 ID 号。在投票设计中点击“查看主题“链接后,即可打开查看主题页面。在投票设计中点击“修改主题“链接后,即可打开修改主题页面。如果你要修改某个主题以及其选项,只需在文本框中输入其主题名即可。 (如果你不知道待修改主题的主题名你可以首先点击”查看主题“查看其主题名并复制主题名,然后将其粘贴到修改主题名的文本框中,点查询即可打开相应的主题及其选项。长春职业技术学院毕业设计(论文)专用纸第 9 页 第第 6 部分部分 附附 录录附录附录 1 运行环境运行环境1.1 硬件要求硬件要求CPU使用 586 或更高级别的处理器内存64MB 及其以上硬盘50

15、0MB 以上(根据不同的服务器要求不同)其他计算机设备网卡等联网设备1.2.软件要求软件要求要使用 JSP,在服务器端和客户端都必须有对应的运行环境。服务器主要是 Servlet兼容的 Web 服务器,客户端主要是浏览器。由于 Java 具有跨平台的特点,所以只要能够安装 JDK,就能在此安装 JSP 服务器。JSP 服务器能够运行在目前绝大多数的操作系统上,目前在普通用户中用到的系统绝大多数为 Windows 系列和 UNIX 系列。附录附录 2 设计代码设计代码1.vote.jsp在线投票 单选投票 %长春职业技术学院毕业设计(论文)专用纸第 10 页 String sql=select

16、* from vote where flag = 0 and optType=0 order by id desc; ResultSet rs=dbBean.executeQuery(sql); int questionNum=0,optType,id,id1; String question,str,optContent,type; while(rs.next() /输出投票的主题 questionNum+;str=主题+questionNum+:; question=rs.getString(question); optType=rs.getInt(optType);id=rs.getIn

17、t(id); out.print(str+question+); ResultSet rs1; sql=select * from vote where flag=+id;rs1=dbBean.executeQuery(sql);out.print();/输出该主题的选项while(rs1.next() id1=rs1.getInt(id); optContent=rs1.getString(optContent); if(optType=0) type=radio; else type=checkbox; % input type= name=vote value= 2.result.jsp

18、长春职业技术学院毕业设计(论文)专用纸第 11 页 投票结果单选投票结果% String sql=select * from vote order by id ; ResultSet rs=dbBean.executeQuery(sql); String id; id = request.getParameter(vote); sql=update vote set number=number+1 where id=+id; dbBean.executeQuery(sql); ResultSet rs1,rstotal; int questionNum=0,optType,id1,number

19、,total=0; String question,str,optContent; sql=select * from vote where flag=0 and optType=0 order by id desc; rs=dbBean.executeQuery(sql); while(rs.next() questionNum+; str=主题+questionNum+:; question=rs.getString(question); optType=rs.getInt(optType);id=Integer.toString(rs.getInt(id); out.print(str+

20、question+);sql=select * from vote where flag=+id;rstotal=dbBean.executeQuery(sql);/求得投票的总数while(rstotal.next() number=rstotal.getInt(number); total+=number;sql=select * from vote where flag=+id;rs1=dbBean.executeQuery(sql);out.print();/输出各选项的得票数while(rs1.next() id1=rs1.getInt(id); optContent=rs1.get

21、String(optContent); number=rs1.getInt(number);长春职业技术学院毕业设计(论文)专用纸第 12 页 % 得票数: img src = bar.gif width = height = 10 返回主页 3.add.jsp增加主题 增加主题 增加主题|删除主题| 查看主题 | 修改主题 |返回首页 请输入主题名:长春职业技术学院毕业设计(论文)专用纸第 13 页 input type=text name=question size=50 value= input type=checkbox value=T name=type 多选  &

22、amp;nbsp; 请输入选项的数目: input typ=text name=num size=5 value= % String submit=request.getParameter(sumbit); if(submit!=null) for(int i=1;i 选项: input type=text name= value= size=50 % String submit1=request.getParameter(submit1),str=,optContent,sql; int id; if(submit1!=null) sql=insert into vote(flag,optT

23、ype,question) values(0,+optType+,+question+);dbBean.executeUpdate(sql);sql=select * from vote order by id desc;ResultSet rs=dbBean.executeQuery(sql);id=rs.getInt(1);for(int i=1;i4.del.jsp删除主题 删除主题 增加主题|删除主题| 查看主题 |修改主题 |返回首页 请输入删除的序号(ID): 长春职业技术学院毕业设计(论文)专用纸第 15 页 5.display.jsp查看主题 查看主题 增加主题|删除主题| 查

24、看主题 |修改主题 |返回首页 序号 标识 投票主题 投票选项 得 票 数 % while(rs.next() out.println();out.println(+rs.getInt(id)+);out.println(+rs.getInt(flag)+);out.println(+rs.getString(question)+);out.println(+rs.getString(optContent)+);out.println(+rs.getInt(number)+); out.println(); % 长春职业技术学院毕业设计(论文)专用纸第 16 页 6.modify.jsp修改主

25、题 修改主题 增加主题|删除主题| 查看主题 |修改主题 |返回首页 请输入您所要修改的主题名: 题目 长春职业技术学院毕业设计(论文)专用纸第 17 页 input type=hidden name=id value= input name=question type=textvalue= size=50 maxlength=50 选项 input type=text name=optContent size=100 value= input type=hidden name=id value= input type=hidden name=count value= 是否多选 input t

26、ype=checkbox name=multiple value=1 % String submit1; submit1=request.getParameter(submit1); if(submit1!=null) int count=Integer.parseInt(request.getParameter(count);长春职业技术学院毕业设计(论文)专用纸第 18 页 int flag=Integer.parseInt(request.getParameter(id);String optType,optType1;optType=request.getParameter(multi

27、ple);if(optType=null) optType1=0; else optType1=1; String question=request.getParameter(question);sql=update vote set question=+question +,optType= +optType1+ where id=+flag;if(dbBean.executeUpdate(sql) out.print(更新主题成功!);String optContent,optContent1,id1;for(int i=0;i7. DBConnect.javapackage vote;i

28、mport java.sql.*;public class DBConnect /设置连接数据库的参数 private String user = s70019618; private String password = s7001618; /MySQL 的 JDBC 驱动程序 String sDBDriver = org.gjt.mm.mysql.Driver; /连接数据库 String sConnStr = jdbc:mysql:/localhost:3306/db70019618?user&password; Connection conn = null; Statement

29、stmt = null; ResultSet rs = null; public DBConnect() 长春职业技术学院毕业设计(论文)专用纸第 19 页 try /加载数据库驱动程序 Class.forName(sDBDriver); /建立连接 conn = DriverManager.getConnection(sConnStr); catch (Exception e) System.out.println(DBConnect(): + e.getMessage(); /查询 public ResultSet executeQuery(String sql) try stmt = c

30、onn.createStatement(); rs = stmt.executeQuery(sql);catch (SQLException ex) System.out.println(sql.executeQuery: + ex.getMessage(); return rs; /更新 public boolean executeUpdate(String sql) try stmt = conn.createStatement(); stmt.executeUpdate(sql); return true;catch (SQLException ex) System.out.println(sql.executeUpdate: + ex.getMessage(); return false; /关闭数据库的连接 public void close() throws Exception conn.close(); stmt.close();

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!