基于Java技术的在线投票系统设计.doc_第1页
基于Java技术的在线投票系统设计.doc_第2页
基于Java技术的在线投票系统设计.doc_第3页
基于Java技术的在线投票系统设计.doc_第4页
基于Java技术的在线投票系统设计.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

VIP免费下载

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

文档简介

毕毕业业论论文文(设设计计) 题目 在线投票系统 学生姓名学生姓名 学号学号 班班 级级 专专 业业 分分 院院 指导教师指导教师 20082008 年年 0404 月月 0404 日日 长春职业技术学院毕业设计(论文)专用纸 第 1 页 目目 录录 第第 1 部分部分 概概 述述1 第第 2 部分部分 分析部分分析部分2 21功能需求2 第第 3 部分部分 系统设计系统设计3 31功能模块设计3 32数据库的设计3 第第 4 部分部分 系统开发系统开发3 41数据库3 411创建数据库3 412创建表4 413连接数据库4 42功能的实现5 43问题及解决5 第第 5 部分部分 运行部分运行部分5 51系统的安装5 52系统的使用6 第第 6 部分部分 附附 录录8 附录 1 运行环境.8 1.1硬件要求8 1.2.软件要求9 附录 2 设计代码.9 1.vote.jsp9 2.result.jsp10 3.add.jsp.11 4.del.jsp13 5.display.jsp .14 6.modify.jsp15 7. DBConnect.java.18 长春职业技术学院毕业设计(论文)专用纸 第 2 页 第第 1 部分部分 概概 述述 在线投票系统主要用来统计网站用户对某个主题或热门话题的意见。决策者通过这些 统计数据做出相应的决策。在线投票系统是一般网站必备的程序之一,如果网站开发者想 了解用户对该网站的意见和建议。他可以设计这样一个投票主题:你认为该网站如何? (A.很好 B.一般 C.不好)然后提供给用户进行投票。 我的投票系统具有极大的灵活性,投票类型分为单选投票和多选投票。管理员可以在 线设计不同的投票主题供用户进行投票。 对于该设计报告还有什么不当之处请见谅,同时也希望你能多提宝贵意见。我会认真 参考您的意见,修改和完善该系统。 术语列表:术语列表: JSP:(Java Server Pages) ,JSP 是一种基于 Java 的技术,用来产生跨平台和 跨 Web 服务器的动态页面。 JDBC:(Java DataBase Connectivity),Java 数据库连接。它主要是一套让你 访问数据库的 API,程序人员可以利用 JDBC API 来执行 SQL 语句。 Servlet: Servlet 可以称之为“服务器小程序” ,与 Java application 不同, 它没有 main 方法,而是用一些特定的方法用于启动、执行和退出。通过使用 Servlet, 可以与运行与客户端的 Applet 进行交互,也可以直接与 HTML 页进行交互。 JavaBeans: JavaBeans 是可复用的平台中立的软件组件,可以在软件开发工具中 被直观地操作。应用程序开发者可以通过支持 JavaBeans 的开发工具,直接使用现成的 JavaBeans,也可以在开发工具容器中,对组件进行必要的修改、测试而不必编写和编译程 序。在 Java 模型中,组件可以修改或与其他组件组合以生成新组件或完整的应用程序。 HTML:(Hypertext Markup Language)超文本标记语言,它是组织多媒体文档的重要 语言,它不仅用来编写 Web 网页,而且可以使用它来制作光盘上的多媒体节目。HTML 可用 来编排文档、创建列表、建立链接等等。 XML:(eXtensible Markup Language)可扩展标记语言,它是一种具有数据描 述功能(Meta-language)、高度结构性及可验证性的语言。 SQL:SQL:(Structured Query Language) ,结构化查询语言。SQL 语言地任务就是与各种 数据库建立关系,SQL 语言是关系型数据库的标准语言,大多数关系型数据库管理系统都 支持 SQL 语言并采用了 SQL 的语言标准。 MySQL:MySQL 是一个可用于各种流行操作系统平台的关系数据库系统,它具有客户 机/服务器体系结构的分布式数据库管理系统。按照使用又可以分为 DML(Data Manipulation Language),即数据操作语言和 DDL(Data Definition Language)。 长春职业技术学院毕业设计(论文)专用纸 第 3 页 第第 2 部分部分 分析部分分析部分 21功能需求功能需求 通过对用户的需求调查分析,可以概括出用户的功能需求如下:单选投票、多选投票、 查看投票、投票设计。 单选投票:用户只能从多个选项中选取一项进行投票。 多选投票:用户可以从多个选项中选取多项进行投票。 查看投票:提供用户查看当前投票情况,投票结果以条形图显示。 投票设计:管理员可以设计不同的投票主题,及投票主题的内容供用户进行投票。投 票 设计又包括以下功能需求:增加主题、删除主题、查看主题、修改主题。 第第 3 部分部分 系统设计系统设计 31功能模块设计功能模块设计 通过对功能需求进行分析和概括得到如图所示的系统功能模块图: 系统的功能模块图 在线投票系统 单 选 投 票 显 示 投 票 表 单 返 回 投 票 结 果 多 选 投 票 显 示 投 票 表 单 返 回 投 票 结 果 查 看 投 票 返 回 投 票 结 果 增 加 主 题 删 除 主 题 查 看 主 题 修 改 主 题 投 票 设 计 32数据库的设计数据库的设计 该系统的数据库采用 MySQL,根据投票系统功能设计的要求,可以列出以下数据项和 数据结构: 投票表:存放投票信息,数据项包括:序号、标识、选项类型、投票主题、投票选项 内容、得票数。 长春职业技术学院毕业设计(论文)专用纸 第 4 页 第第 4 部分部分 系统开发系统开发 41数据库数据库 411创建数据库创建数据库 CREATE DATABASE db70019618; 412创建表创建表 创建数据库中用到的投票表: CREATE TABLE vote ( id INT NOT NULL AUTO_INCREMENT, flag int, optType int, question CHAR(255), optContent CHAR(255), number INT, PRIMARY KEY(id), ); 数据库创建后的结构图如下: 413连接数据库连接数据库 该系统使用了 MySQL 的 JDBC 驱动程序来连接数据库。因为对数据库的访问,在整 个系统中比较频繁,所以我将对数据库的操作写成一个 DBConnect 的类,通过该类来连接 数据库和访问数据库。 /部分代码如下 public DBConnect() try /加载数据库驱动程序 长春职业技术学院毕业设计(论文)专用纸 第 5 页 Class.forName(sDBDriver); /建立连接 conn = DriverManager.getConnection(sConnStr); catch (Exception e) System.out.println(“DBConnect():“ + e.getMessage(); 42功能的实现功能的实现 投票流程图投票流程图: 开 始 显示投票表单 是否取得参数 否 是 取得投票的参数 将结果写入数据 库 显示投票结果 结 束 累加投票数 该流程图已经包含了在线投票系统的制作的主要方法。下面的工作实际上就是按照该 流程图,写出具体的代码。在附录 2 设计代码中有我开发的代码,并附有注释。所以在 这里我就不展开介绍每一个功能的开发过程。 43问题及解决问题及解决 这部分应该写在开发中遇到了哪些问题,如何解决等。 第第 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、用户名和密码为你自己的 IP,user, password 修改编译之后放到 WEB-INFclasses目录下面。 3请创建数据库 db70019517,然后使用 mysql db70019517 在线投票 单选投票 “); 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“; % “ name=“vote“ value=“ 2.result.jsp 长春职业技术学院毕业设计(论文)专用纸 第 11 页 投票结果 单选投票结果 “); 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.getString(“optContent“); number=rs1.getInt(“number“); 长春职业技术学院毕业设计(论文)专用纸 第 12 页 % 得票数: “ height = 10 返回主页 3.add.jsp 增加主题 增加主题 增加主题|删除主题| 查看主题 | 修改主题 |返回首页 请输入主题名: 长春职业技术学院毕业设计(论文)专用纸 第 13 页 “ 多选 请输入选项的数目: “ 选项: “ value=“ size=“50“ 4.del.jsp 删除主题 删除主题 增加主题|删除主题| 查看主题 |修改主题 |返回首页 请输入删除的序号(ID): 长春职业技术学院毕业设计(论文)专用纸 第 15 页 5.display.jsp 查看主题 查看主题 增加主题|删除主题| 查看主题 |修改主题 |返回首页 序号 标识 投票主题 投票选项 得 票 数 “); 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 修改主题 修改主题 增加主题|删除主题| 查 看主题 |修改主题 |返回首页 请输入您所要修改的主题名: 题目 长春职业技术学院毕业设计(论文)专用纸 第 17 页 “ “ size=“50“ maxlength=“50“ 选项 “ size=“100“ value=“ “ value=“ “ 是否多选 7. DBConnect.java package vote; import 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 Connection conn = null; Statement stmt = null; ResultSet rs = null; public DBConnect() 长春职业技术学院毕业设计(论文)专用纸 第 19 页 try /加载数据库驱动程序 Class.forName(sDBDriver); /建立连接 conn

温馨提示

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

评论

0/150

提交评论