当前位置:Gxlcms > mysql > 基于表单的投票系统--MySql,DAO,VO_MySQL

基于表单的投票系统--MySql,DAO,VO_MySQL

时间:2021-07-01 10:21:17 帮助过:20人阅读

一。系统分析

只要一个界面 ,但是建议写两个,一个用于显示投票界面 ,一个用于接受用户的投票,将所对应的老师得票加1 ,

工作完了再回到前一个界面 。

各个页面与作用:

VoteDao.java 连接数据库,查询老师的编号 ,姓名 ,得票,修改老师的得票数,将编号对应的得票 数加 1

Vote.java 封装老师的编号 ,姓名 ,得票 数

display.jsp 调用VoteDao查询老师编号 ,姓名 ,得票数,并显示

vote.jsp 获得request 传送 过来的老师编号数组 ,调用 VoteDao 将每个编号对应的得票数加1 ,回到display.jsp

二。数据库初始化

属性:teacherno teachername votenumber

在mySQL中写成脚本运行,用source 命令。

use test;create table t_vote( teacherno varchar(20), teachername varchar(20), vote int );insert into t_vote values('1', 'lishengjing',1);insert into t_vote values('2', 'huangwenjun',1);insert into t_vote values('3', 'zhaosy',2);insert into t_vote values('4', 'chaoshehn',3);

三。java 代码

要将MySQL的驱动复制到 web-inf/lib中,将bar.jpg 复制到WebRoot下的img目录。导入包时最好用 import java.sql*;

public class VoteDao {	private Connection  conn=null;		public void initConnection() throws Exception{		Class.forName("com.mysql.jdbc.Driver");		String url ="jdbc:mysql://localhost:3306/test";		conn = DriverManager.getConnection(url , "root","root");			}		public ArrayList getAllVotes()throws Exception{		ArrayList all = new ArrayList ();		initConnection();		String sql = "select * from t_vote";		Statement stat= conn.createStatement();		ResultSet rs = stat.executeQuery(sql);				while (rs.next()){			Vote vote = new Vote();			vote.setTeacherno(rs.getString("teacherno"));			vote.setTeachername(rs.getString("teachername"));			vote.setVotenumber(rs.getInt("vote"));			all.add(vote);		}		clossConnection();		return all;			}		public void updateVotes(String [] teacherno )throws Exception{		initConnection();		String sql = "update t_vote set vote=vote+1 where teacherno=?";		PreparedStatement ps = conn.prepareStatement(sql);				for (int i =0;i


四。JSP代码部分

display.jsp

      

vote,jsp

     <%     String [] teacherno = request.getParameterValues("teacherno") ;    VoteDao vdao = new VoteDao();    vdao.updateVotes(teacherno);    %>      

人气教程排行