在线投票系统_jsp在线投票系统

2020-02-28 其他范文 下载本文

在线投票系统由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“jsp在线投票系统”。

  实验题目:在线投票系统

实验目的:综合运用Web开发技术开发一个在线投票系统,开发过程涵盖需求、设计、编码、测试等软件开发生命周期的各个阶段,通过这个项目的开发,使学生具备较强的Web开发能力,并培养学生的动手能力和解决实际问题的能力。

 实验要求:项目包含网站前台和后台管理系统,涉及用户管理、投票管理、报表系统等功能。需要实现用户界面和业务逻辑,数据存储在数据库中。

 主要代码:

javabean的设计: 1.值建一个值JavaBean用来封装存储表tb-temp中的投票选项信息,代码如下:

package com.yxq.valuebean;

public cla VoteSingle {

private String id;//存儲選項ID private String title;//存儲選項標題 private String num;//存儲選項所得票數 private String order;//存儲選項的排列序號

public String getId(){ } public void setId(String id){ } public String getNum(){ } public void setNum(String num){ } public String getOrder(){ } public void setOrder(String order){ } public String getTitle(){ this.order = order;return order;this.num = num;return num;this.id = id;return id;

} } return title;public void setTitle(String title){ } this.title = title;

同样建另一个值JavaBean用来封装存储表tb-vote中的信息:

package com.yxq.valuebean;

public cla TempSingle {

} private String id;//存儲投票用戶ID private String voteIp;//存儲投票用戶IP private long voteMSEL;//存儲毫秒數

private String voteTime;//存儲yyyy-MM-dd HH:mm:形式的時間

public long getVoteMSEL(){ } public void setVoteMSEL(long voteMSEL){ } public String getVoteTime(){ } public void setVoteTime(String voteTime){ } public String getId(){ } public void setId(String id){ } public String getVoteIp(){ } public void setVoteIp(String voteIp){ } this.voteIp = voteIp;return voteIp;this.id = id;return id;this.voteTime = voteTime;return voteTime;this.voteMSEL = voteMSEL;return voteMSEL;2.数据库操作类的编写: 定义属性及构造方法 package com.yxq.toolbean;

import java.sql.Connection;import java.sql.DriverManager;import java.sql.Statement;import java.sql.ResultSet;import java.util.ArrayList;import java.util.List;

import com.yxq.valuebean.TempSingle;import com.yxq.valuebean.VoteSingle;

public cla DB { private String claName;//存儲數據庫驅動類路徑

private String url;//存儲數據庫URL

private String username;//存儲登陸數據庫的用戶名

private String paword;//存儲登陸數據庫的密碼

private Connection con;//聲明一個Connection對象

private Statement stm;//聲明一個Statement對象用來執行SQL語句

private ResultSet rs;//聲明一個ResultSet對象用來存儲結果集

public DB(){

//通過構造方法為屬性賦值

claName = “org.apache.derby.jdbc.ClientDriver”;

url = “jdbc:derby://localhost:1527/myeclipse”;

username = “claiccars”;

paword = “claiccars”;}

/**

* @功能 加载数据库驱动程序

*/ public void loadDrive(){

try {

Cla.forName(claName);

//加載數據庫驅動程序

} catch(ClaNotFoundException e){

System.out.println(“加载数据库驱动程序失败!”);

e.printStackTrace();

//向控制臺輸出提示信息

} }

/**获取数据库连接

* @功能

*/ public void getCon(){ loadDrive();//加載數據庫驅動程序

try {

con = DriverManager.getConnection(url, username, paword);//獲取連接

} catch(Exception e){

System.out.println(“连接数据库失败!”);

e.printStackTrace();} } /** * @功能 获取Statement对象

*/ public void getStm(){ getCon();//獲取數據庫連接

try {

stm = con.createStatement();//獲取Statement類對象

} catch(Exception e){

System.out.println(“获取Statement对象失败!”);

e.printStackTrace();} } /** * @功能 查询数据表,获取结果集

*/ public void getRs(String sql){ getStm();try {

rs = stm.executeQuery(sql);//執行SQL語句查詢數據表獲取結果集

} catch(Exception e){

System.out.println(“查询数据库失败!”);

e.printStackTrace();} } /** * @功能 查询数据表,获取投票选项

*/ public List selectVote(String sql){

} List votelist = null;if(sql!= null &&!sql.equals(“”)){ getRs(sql);//查詢數據表獲取結果集

if(rs!= null){

votelist = new ArrayList();

try {

while(rs.next()){//依次將結果集中的记录封装到VoteSingle类对象中

VoteSingle voteSingle = new VoteSingle();

voteSingle.setId(MyTools.intToStr(rs.getInt(1)));

voteSingle.setTitle(rs.getString(2));

voteSingle.setNum(MyTools.intToStr(rs.getInt(3)));

voteSingle.setOrder(MyTools.intToStr(rs.getInt(4)));

votelist.add(voteSingle);//将VoteSingle类对象存储到List集合中

}

} catch(Exception e){

System.out.println(“封装tb_vote表中数据失败!”);

e.printStackTrace();

} finally {

closed();

//关闭 数据库

} } } return votelist;/** * @功能 查询数据表,获取指定IP最后一次投票的记录

*/ public TempSingle selectTemp(String sql){ TempSingle tempSingle = null;if(sql!= null &&!sql.equals(“”)){

getRs(sql);//查询数据表获取结果集

if(rs!= null){

try {

while(rs.next()){//若该结果集中有记录,说明当前用户投过票

tempSingle = new TempSingle();

tempSingle.setId(MyTools.intToStr(rs.getInt(1)));

tempSingle.setVoteIp(rs.getString(2));

tempSingle.setVoteMSEL(rs.getLong(3));

tempSingle.setVoteTime(rs.getString(4));

}

} catch(Exception e){

System.out.println(“封装tb_temp表中数据失败!”);

e.printStackTrace();

} finally {

closed();

//关闭数据库

}

}

}

return tempSingle;//返回TempSingle类对象中

}

/**

* @功能 更新数据表,实现票数累加

*/ public int update(String sql){

int i =-1;

if(sql!= null &&!sql.equals(“”)){

getStm();//获取Statement类对象

try {

i = stm.executeUpdate(sql);//执行SQL语句更新数据表

} catch(Exception e){

System.out.println(“更新数据库失败!”);

e.printStackTrace();

} finally {

closed();

}

}

return i;} /**

* @功能 关闭数据库连接

*/ public void closed(){

try {

if(rs!= null)

rs.close();//关闭结果集

if(stm!= null)

stm.close();//关闭Statement类对象

if(con!= null)

con.close();//关闭数据库连接

} catch(Exception e){

System.out.println(“关闭数据库失败!”);

e.printStackTrace();

} } } 3.工具类的编写: package com.yxq.toolbean;

import java.text.SimpleDateFormat;import java.util.Date;

public cla MyTools { /** * @功能 将int型数据转换为String型数据

* @参数 num为要转换的int型数据

* @返回值 String类型

*/ public static String intToStr(int num){

return String.valueOf(num);} /** * @功能 比较时间。

* @参数 today当前时间,temp为上次投票时间。这两个参数都是以毫秒显示的时间

* @返回值 String类型

*/ public static String compareTime(long today,long temp){

int limitTime=60;

//设置限制时间为60分钟

long count=today-temp;

//计算当前时间与上次投票时间相差的毫秒数(该结果一定是大于等于0)

if(count

//如果相差小于等于60分钟(1分=60秒,1秒=1000毫秒)

return “no”;

else

//如果相差大于60分钟

return “yes”;} /** * @功能 格式化时间为指定格式。首先通过Date类的构造方法根据给出的毫秒数获取一个时间,然后将该时间转换为指定格式,如“年-月-日 时:分:秒” * @参数 ms为毫秒数

* @返回值 String类型

*/ public static String formatDate(long ms){

Date date=new Date(ms);

SimpleDateFormat format=new SimpleDateFormat(“yyyy-MM-dd HH:mm:”);

String strDate=format.format(date);

return strDate;} } 4.显示投票选项的设计: <%@ page contentType=“text/html;charset=UTF-8”%> <%@ page import=“java.util.List” %>

<%@ page import=“com.yxq.valuebean.VoteSingle” %>

<%

response.addHeader(“Pragma”,“No-cache”);response.addHeader(“Cache-Control”,“no-cache”);response.addDateHeader(“Expires”,1L);

String sql=“select * from app.tb_vote order by vote_order”;//生成查询投票选项的SQL语句

List votelist=myDb.selectVote(sql);//查询数据表获取所有投票选项 %>

在线投票

background=“images/voteT.jpg”>

<% if(votelist==null||votelist.size()==0){ %> 没有选项可显示!

<% } else{ %>

<%

int i=0;while(i

%>

style=“text-indent:7”><%=single.getTitle()%> “>

<%

i++;} //while结束

%>

票!

<%

} //else结束

%>

style=”background-image:url(images/submitB.jpg);width:68;height:26;border:0“>

style=”background-image:url(images/resetB.jpg);width:68;height:26;border:0“>

&nb

注意事项:

1小时内只能投一次

VoteSingle single=(VoteSingle)votelist.get(i);

sp;

《在线投票系统.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
在线投票系统
点击下载文档
相关专题 jsp在线投票系统 在线 投票系统 jsp在线投票系统 在线 投票系统
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文