文档章节

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

c
 chuiyuan
发布于 2014/06/13 19:57
字数 510
阅读 600
收藏 6
点赞 0
评论 0

一。系统分析 

     只要一个界面 ,但是建议写两个,一个用于显示投票界面 ,一个用于接受用户的投票,将所对应的老师得票加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<teacherno.length;i++){
			ps.setString(1, teacherno[i]);
			ps.executeUpdate();
		}
		clossConnection();
	}
	
	public void clossConnection ()throws Exception{
		conn.close();
	}
}


四。JSP代码部分

display.jsp

<body>
    <form action ="vote.jsp"  method ="post">
		<table align="center">
			<caption>
				欢迎投票<input type="submit" value="提交">
			</caption>
			<tr bgcolor="yellow">
				<td>编号</td>
				<td>姓名</td>
				<td>得票数</td>
			</tr>

			<%
				VoteDao vdao= new VoteDao();
			    ArrayList votes = vdao.getAllVotes();
			    for (int i=0;i<votes.size();i++){
			    Vote vote =(Vote) votes.get(i);
			%>
			<tr bgcolor="pink">
				<td><%=vote.getTeacherno()%></td>
				<td><%=vote.getTeachername()%></td>
				<td><img src ="img/bar.jpg"  width="<%=vote.getVotenumber() %>"  height ="10"/>
				<%=vote.getVotenumber() %></td>
				<td><input name="teacherno" type="checkbox"
					value="<%=vote.getTeacherno()%>"></td>
			</tr>
			<%
				}
			%>

		</table>
	</form>
  </body>

vote,jsp

 <body>
    <% 
    String [] teacherno = request.getParameterValues("teacherno") ;
    VoteDao vdao = new VoteDao();
    vdao.updateVotes(teacherno);
    %>
    <jsp:forward page="display.jsp"></jsp:forward>
  </body>




© 著作权归作者所有

共有 人打赏支持
c
粉丝 9
博文 92
码字总数 40993
作品 0
海淀
dao设计模式

具体内容 DAO:数据访问对象:Data Acess Object,即:使用对象的形式操作数据库。 DAO组成: VO:每一个VO对象可以表示出一张表单一行记录,此类的名称要与表单名称一致。 DAO:操作接口:每...

李茂冉
2016/05/18
31
0
开源平台eRedG4_V1.2版发布了

在广大网友的支持和鞭策下,eRedG4_V1.2版又登场了。 eRedG4(易道系统集成与应用开发平台)是一个开放源代码的、面向企业计算环境下异构系统集成与行业应用快速二次开发的平台。它包括:基础类...

Google
2011/05/04
2.9K
0
留言管理V1.0

1、需求分析 1.1、用例分析:主要是分析整个系统的功能。 基于用户管理功能的用例 基于留言管理的用例 1.2、类图分析:在用例的基础上来分析需要存在哪些对象。 1.3、创建ER图:可以直接根据...

pmos
2016/09/02
30
0
VO(DTO)模式在架构设计中是否需要

最近在做自己的博客后台设计,用的是Jodd,我大jodd V587!!! 以前的公司在做一个项目时,会定义很多概念:VO,BO,PO什么的。。。。。。。 引文 大多数的应用,基于分层架构的: Web层(S...

青木河
2014/06/26
3.2K
8
10 个有意思的 PHP 教程

今天我为大家挑选了 10 个关于 PHP 的教程,设计到 pChart、投票、图片过滤、facebook 连接器等等,希望对你有用。 1. pChart Revisited with Google Analytics 在这篇文章中你将学习如何使用...

红薯
2012/04/19
4.4K
5
PHP最佳实践

今天下午,我在读下面这篇文章。 虽然名字叫《PHP最佳实践》,但是它主要谈的不是编程规则,而是PHP应用程序的合理架构。 它提供了一种逻辑和数据分离的架构模式,属于MVC模式的一种实践。我...

阮一峰
2010/12/27
0
0
Java Web 三层架构详解

java 三层架构ssh 一个spring2.5+hibernate3.2+struts2.0组合框架,使用spring的 IoC来管理应用的 所有bean,包括struts2的 action,充分发挥了spring轻量级框架的 优势。 摘 要: 针对当前W...

Carl_
2014/07/06
0
0
java中的几种架构对象(PO,VO,DAO,BO,POJO)

java中的几种对象(PO,VO,DAO,BO,POJO) 一、PO :(persistant object ),持久对象 可以看成是与数据库中的表相映射的java对象。使用Hibernate来生成PO是不错的选择。 二、VO :(value object) ...

ke_ry
2017/10/25
0
0
20 个最佳在线 PHP 教程

PHP是一个通用的服务器端脚本语言,最初是为Web开发设计的动态网页技术。这也是首次在 HTML 文档中嵌入服务器端脚本,而不是调用一个外部文件来处理数据的语言之一。 下面为你介绍一些网上非...

红薯
2012/04/23
6.9K
13
Jsp 和 javaBean

一。javaBean作用 在javaBean 中,我们可以将控制逻辑,值 ,数据库访问和其它对象 进行封装,并且 javaBean 可以 被 其它应用调用 。 javaBean的作用是向用户提供 实现特定逻辑的方法接口,...

chuiyuan
2014/06/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

实现异步有哪些方法

有哪些方法可以实现异步呢? 方式一:java 线程池 示例: @Test public final void test_ThreadPool() throws InterruptedException { ScheduledThreadPoolExecutor scheduledThre......

黄威
今天
0
0
linux服务器修改mtu值优化cpu

一、jumbo frames 相关 1、什么是jumbo frames Jumbo frames 是指比标准Ethernet Frames长的frame,即比1518/1522 bit大的frames,Jumbo frame的大小是每个设备厂商规定的,不属于IEEE标准;...

六库科技
今天
0
0
牛客网刷题

1. 二维数组中的查找(难度:易) 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入...

大不了敲一辈子代码
今天
0
0
linux系统的任务计划、服务管理

linux任务计划cron 在linux下,有时候要在我们不在的时候执行一项命令,或启动一个脚本,可以使用任务计划cron功能。 任务计划要用crontab命令完成 选项: -u 指定某个用户,不加-u表示当前用...

黄昏残影
昨天
0
0
设计模式:单例模式

单例模式的定义是确保某个类在任何情况下都只有一个实例,并且需要提供一个全局的访问点供调用者访问该实例的一种模式。 实现以上模式基于以下必须遵守的两点: 1.构造方法私有化 2.提供一个...

人觉非常君
昨天
0
0
《Linux Perf Master》Edition 0.4 发布

在线阅读:https://riboseyim.gitbook.io/perf 在线阅读:https://www.gitbook.com/book/riboseyim/linux-perf-master/details 百度网盘【pdf、mobi、ePub】:https://pan.baidu.com/s/1C20T......

RiboseYim
昨天
1
0
conda 换源

https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mir......

阿豪boy
昨天
1
0
Confluence 6 安装补丁类文件

Atlassian 支持或者 Atlassian 缺陷修复小组可能针对有一些关键问题会提供补丁来解决这些问题,但是这些问题还没有放到下一个更新版本中。这些问题将会使用 Class 类文件同时在官方 Jira bug...

honeymose
昨天
0
0
非常实用的IDEA插件之总结

1、Alibaba Java Coding Guidelines 经过247天的持续研发,阿里巴巴于10月14日在杭州云栖大会上,正式发布众所期待的《阿里巴巴Java开发规约》扫描插件!该插件由阿里巴巴P3C项目组研发。P3C...

Gibbons
昨天
1
0
Tomcat介绍,安装jdk,安装tomcat,配置Tomcat监听80端口

Tomcat介绍 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。 java程序写的网站用tomcat+jdk来运行...

TaoXu
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部