在线投票系统详细设计Word下载.docx
《在线投票系统详细设计Word下载.docx》由会员分享,可在线阅读,更多相关《在线投票系统详细设计Word下载.docx(24页珍藏版)》请在冰豆网上搜索。
![在线投票系统详细设计Word下载.docx](https://file1.bdocx.com/fileroot1/2022-10/12/85aba00f-0316-4f06-b282-22fc77c9fae3/85aba00f-0316-4f06-b282-22fc77c9fae31.gif)
◆投票设计:
管理员可以设计不同的投票主题,及投票主题的内容供用户进行投票。
投票
设计又包括以下功能需求:
增加主题、删除主题、查看主题、修改主题。
第3部分系统设计
3.1.功能模块设计
通过对功能需求进行分析和概括得到如图所示的系统功能模块图:
3.2.数据库的设计
该系统的数据库采用MySQL,根据投票系统功能设计的要求,可以列出以下数据项和数据结构:
●投票表:
存放投票信息,数据项包括:
序号、标识、选项类型、投票主题、投票选项内容、得票数。
第4部分系统开发
4.1.数据库
4.1.1.创建数据库
CREATEDATABASEdb70019618;
4.1.2.创建表
创建数据库中用到的投票表:
CREATETABLEvote
(
idINTNOTNULLAUTO_INCREMENT,
flagint,
optTypeint,
questionCHAR(255),
optContentCHAR(255),
numberINT,
PRIMARYKEY(id),
);
数据库创建后的结构图如下:
4.1.3.连接数据库
该系统使用了MySQL的JDBC驱动程序来连接数据库。
因为对数据库的访问,在整个系统中比较频繁,所以我将对数据库的操作写成一个DBConnect的类,通过该类来连接数据库和访问数据库。
//部分代码如下
publicDBConnect(){
try{
//加载数据库驱动程序
Class.forName(sDBDriver);
//建立连接
conn=DriverManager.getConnection(sConnStr);
}
catch(Exceptione){
System.out.println("
DBConnect():
"
+e.getMessage());
4.2.功能的实现
投票流程图:
该流程图已经包含了在线投票系统的制作的主要方法。
下面的工作实际上就是按照该流程图,写出具体的代码。
在附录2设计代码中有我开发的代码,并附有注释。
所以在这里我就不展开介绍每一个功能的开发过程。
4.3.问题及解决
这部分应该写在开发中遇到了哪些问题,如何解决等。
第5部分运行部分
5.1.系统的安装
该系统我在j2sdk1.4.1_01+resin-2.1.9+MySQL-4.0.12-nt环境下测试通过:
安装步骤:
该系统需要JSP运行环境和MySQL数据库,如果服务器还没有搭建的话请先搭建。
1.把vote、WEB-INF(vote文件夹存放的是.jsp文件,WEB-INF存放的是该系统使用到的一些.class文件)文件夹上传到你的主机目录。
2.修改DBConnect.java里连接MySQL数据库的IP、用户名和密码为你自己的IP,user,password修改编译之后放到WEB-INF\classes\目录下面。
3.请创建数据库db70019517,然后使用mysqldb70019517<
vote.sql脚本创建该数据库使用到的表。
(脚本存放的路径vote\vote.sql)
4.然后在浏览器输入URL:
(例如这是我的运行方法:
http:
//127.0.0.1:
8080/vote/index.jsp)。
5.2.系统的使用
为了直观,在这里我将主要通过程序运行截图来介绍该投票系统的使用。
☞在浏览器地址栏里输入在线投票系统的URL后,将进入在线投票系统的首页。
在首页中显示了该系统的操作。
☞在首页中点击你所要进行的操作,即可打开相应的页面。
如点击“单选投票”链接即可打开单选投票页面。
☞在首页中点击“多选投票“链接,打开多选投票页面。
☞在首页中点击“在线投票“链接后,可以查看在线投票的结果。
☞在首页中点击“投票设计“链接后,即可打开投票设计中的”增加主题“,同时你会看到投票设计中的其它几项功能:
删除主题、查看主题、修改主题、返回首页。
增加主题的方法如下图所示:
☞在投票设计中点击“删除主题“链接后,即可打开删除主题页面。
如果你要删除某个主题以及其选项,只需在文本框中输入其ID号即可。
(如果你不知道待删除主题的ID号你可以首先点击”查看主题“查看其ID号。
☞在投票设计中点击“查看主题“链接后,即可打开查看主题页面。
☞在投票设计中点击“修改主题“链接后,即可打开修改主题页面。
如果你要修改某个主题以及其选项,只需在文本框中输入其主题名即可。
(如果你不知道待修改主题的主题名你可以首先点击”查看主题“查看其主题名并复制主题名,然后将其粘贴到修改主题名的文本框中,点查询即可打开相应的主题及其选项。
第6部分附录
附录1运行环境
1.1硬件要求
CPU
使用586或更高级别的处理器
内存
64MB及其以上
硬盘
500MB以上(根据不同的服务器要求不同)
其他计算机设备
网卡等联网设备
1.2.软件要求
要使用JSP,在服务器端和客户端都必须有对应的运行环境。
服务器主要是Servlet兼容的Web服务器,客户端主要是浏览器。
由于Java具有跨平台的特点,所以只要能够安装JDK,就能在此安装JSP服务器。
JSP服务器能够运行在目前绝大多数的操作系统上,目前在普通用户中用到的系统绝大多数为Windows系列和UNIX系列。
附录2设计代码
1.vote.jsp
<
%@pagecontentType="
text/html;
charset=gb2312"
%>
%@pageimport="
java.sql.*"
jsp:
useBeanid="
dbBean"
class="
vote.DBConnect"
scope="
page"
/>
html>
head>
title>
在线投票<
/title>
linkhref="
vote.css"
rel="
stylesheet"
type="
text/css"
>
/head>
body>
center>
<
h3>
单选投票<
/h3>
hr>
formaction="
result.jsp"
method="
post"
divalign="
left"
%
Stringsql="
select*fromvotewhereflag=0andoptType=0orderbyiddesc"
;
ResultSetrs=dbBean.executeQuery(sql);
intquestionNum=0,optType,id,id1;
Stringquestion,str,optContent,type;
while(rs.next()){
//输出投票的主题
questionNum++;
str="
主题"
+questionNum+"
:
question=rs.getString("
question"
optType=rs.getInt("
optType"
id=rs.getInt("
id"
out.print(str+question+"
br>
ResultSetrs1;
sql="
select*fromvotewhereflag="
+id;
rs1=dbBean.executeQuery(sql);
out.print("
//输出该主题的选项
while(rs1.next()){
id1=rs1.getInt("
optContent=rs1.getString("
optContent"
if(optType==0)
radio"
else{
checkbox"
inputtype="
%=type%>
name="
vote"
value="
%=id1%>
%=optContent%>
%}%>
/div>
submit"
sumbit1"
确定"
/form>
%rs.close();
/center>
/body>
/html>
2.result.jsp
投票结果<
h3align="
center"
单选投票结果<
select*fromvoteorderbyid"
Stringid;
id=request.getParameter("
updatevotesetnumber=number+1whereid="
dbBean.executeQuery(sql);
ResultSetrs1,rstotal;
intquestionNum=0,optType,id1,number,total=0;
Stringquestion,str,optContent;
select*fromvotewhereflag=0andoptType=0orderbyiddesc"
rs=dbBean.executeQuery(sql);
id=Integer.toString(rs.getInt("
));
)