投票系统

实现结果图




(1)JDBC数据库连接工具类conn.java

package com.gx.bean;import java.sql.*;public class conn {public Connection getConn(){Connection conn = null;try {Class.forName("com.mysql.jdbc.Driver");conn = DriverManager.getConnection("jdbc:mysql://localhost:3308/manage","root","yww1352465324");} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e){e.printStackTrace();}return conn;}public PreparedStatement prepare(Connection conn,String sql){PreparedStatement pstmt = null;try{if (conn != null) {pstmt = conn.prepareStatement(sql);}}catch (SQLException e){e.printStackTrace();}return  pstmt;}public Statement getStatement(Connection conn){Statement stmt = null;try{if (conn != null) {stmt = conn.createStatement();}}catch (SQLException e){e.printStackTrace();}return stmt;}public ResultSet getResultSet(Statement stmt,String sql){ResultSet rs = null;if(stmt!=null){try {rs = stmt.executeQuery(sql);} catch (SQLException throwables) {throwables.printStackTrace();}}return rs;}public void excuteUpdate(Statement stmt,String sql){if(stmt!=null){try {stmt.executeUpdate(sql);} catch (SQLException throwables) {throwables.printStackTrace();}}}public void close(Connection conn){if(conn!=null){try {conn.close();} catch (SQLException throwables) {throwables.printStackTrace();}conn=null;}}public void close(ResultSet rs){if(rs!=null){try {rs.close();} catch (SQLException throwables) {throwables.printStackTrace();}rs=null;}}public void close(Statement stmt){if(stmt!=null){try {stmt.close();} catch (SQLException throwables) {throwables.printStackTrace();}stmt=null;}}
}

(2)web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0">
</web-app>

(3)index.jsp

<%@ page import="java.sql.ResultSet" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.Statement" %><%--Created by IntelliJ IDEA.User: 12526Date: 2021/1/15Time: 17:15To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>投票系统</title>
</head>
<body>
<jsp:useBean id="DB" class="com.gx.bean.conn" />
<center><h2>您最喜爱的电影是</h2><table border bordercolor="#0066ff" bgcolor="#CCFFFF"><form action="vote.jsp" method="post"><%Connection conn = DB.getConn();Statement stmt = DB.getStatement(conn);ResultSet rs = DB.getResultSet(stmt,"select * from vote");while(rs.next()){out.println("<tr>");out.println("<td><input type='radio' name='id' value='"+rs.getString("id")+"'>");out.println(rs.getString("item")+"</td>");out.println("</tr>");}DB.close(conn);DB.close(stmt);DB.close(rs);//session.setMaxInactiveInterval (-1),就是说设置的这个session永远不会失效session.setMaxInactiveInterval(-1);%><tr><td align="center"><input type="submit" value="投票"></td></tr></form><tr><td align="center"><a href="info.jsp">查看投票</a></td></tr></table><p><a href="manage.jsp">投票系统维护</a></p>
</center>
</body>
</html>

(4)add.jsp

<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.Statement" %><%--Created by IntelliJ IDEA.User: 12526Date: 2021/1/16Time: 20:13To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=utf-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body>
<jsp:useBean id="DB" class="com.gx.bean.conn" scope="session"/>
<%request.setCharacterEncoding("utf-8");String additem = request.getParameter("additem");if (additem != null) {String sql = "insert into vote(item,count) values('" + additem + "'," + 0 + ")";Connection conn = DB.getConn();Statement stmt = DB.getStatement(conn);DB.excuteUpdate(stmt, sql);DB.close(stmt);DB.close(conn);}
%>
<jsp:forward page="manage.jsp"/>
</body>
</html>

(5)login.jsp

<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.ResultSet" %>
<%@ page import="java.sql.Statement" %><%--Created by IntelliJ IDEA.User: 12526Date: 2021/1/16Time: 12:12To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=utf-8" language="java" %>
<html>
<head><title>登录页</title>
</head>
<body>
<jsp:useBean id="DB" class="com.gx.bean.conn" scope="session"/>
<center><form action="process.jsp" method="post"><table><tr><td width="40%">用 户 名:</td><td><input type="text" name="user"></td></tr><tr><td width="40%">密 码:</td><td><input type="password" name="pw"></td></tr><tr><td colspan="2" align="center"><input type="submit" value="登录">&nbsp;&nbsp;&nbsp;&nbsp;<input type="reset" value="清空"></td></tr></table></form>
</center>
</body>
<%String warning = request.getParameter("warning");if (warning!=null){warning =new String(warning.getBytes());out.println("<h3>"+warning+",请重新登录或<a href='index.jsp'>返回首页</a></h3>");}
%>
</html>

(6)vote.jsp

<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.Statement" %>
<%@ page import="java.sql.ResultSet" %><%--Created by IntelliJ IDEA.User: 12526Date: 2021/1/15Time: 17:47To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title></title>
</head>
<body>
<jsp:useBean id="DB" class="com.gx.bean.conn" />
<%String id = request.getParameter("id");Connection conn = DB.getConn();Statement stmt = DB.getStatement(conn);ResultSet rs = DB.getResultSet(stmt,"select * from vote where id ="+id);int num = 0;if(rs.next()){num = rs.getInt("count");System.out.println(num);}num++;System.out.println(num);//空格一定要书写规范,否则sql语句会失败String sql = "update vote set count ="+num+" where id="+id+"";DB.excuteUpdate(stmt,sql);DB.close(conn);DB.close(stmt);DB.close(rs);
%>
<jsp:forward page="info.jsp" />
</body>
</html>

(7)process.jsp

<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.ResultSet" %>
<%@ page import="java.sql.Statement" %><%--Created by IntelliJ IDEA.User: 12526Date: 2021/1/16Time: 12:14To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=utf-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body>
<jsp:useBean id="DB" class="com.gx.bean.conn" scope="session" />
<%Connection conn = DB.getConn();Statement stmt = DB.getStatement(conn);String user = request.getParameter("user");String password = request.getParameter("pw");System.out.println(user);System.out.println(password);String sql = "select * from admin where name = '" + user + "' and password = '" + password + "'";ResultSet rs = DB.getResultSet(stmt,sql);System.out.println(rs);if(rs.next()){DB.close(rs);DB.close(conn);DB.close(stmt);session.setAttribute("admin","ok");
%>
<jsp:forward page="manage.jsp" />
<%}else {rs.close();DB.close(conn);DB.close(stmt);
%>
<jsp:forward page="login.jsp"><jsp:param name="warning" value="对不起,您的用户名或密码不正确" />
</jsp:forward>
</body>
<%}
%>
</html>

(8)delete.jsp

<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.Statement" %>
<%@ page import="java.sql.ResultSet" %><%--Created by IntelliJ IDEA.User: 12526Date: 2021/1/16Time: 19:38To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>删除投票项</title>
</head>
<body>
<jsp:useBean id="DB" class="com.gx.bean.conn" scope="session"/>
<%String delid = request.getParameter("delid");System.out.println(delid);Connection conn = DB.getConn();Statement stmt = DB.getStatement(conn);String sql = "delete from vote where id ="+delid;if(delid!=null){DB.excuteUpdate(stmt,sql);}DB.close(conn);DB.close(stmt);
%>
<jsp:forward page="manage.jsp" />
</body>
</html>

(9)checkadmin.jsp

<%--Created by IntelliJ IDEA.User: 12526Date: 2021/1/16Time: 20:10To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=utf-8" language="java"%>
<html>
<head><title>Title</title>
</head>
<body>
<%if(session.getAttribute("admin") == null){response.sendRedirect("login.jsp");}
%>
</body>
</html>

(10)info.jsp

<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.Statement" %>
<%@ page import="java.sql.ResultSet" %><%--Created by IntelliJ IDEA.User: 12526Date: 2021/1/15Time: 20:08To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>投票结果</title>
</head>
<body>
<jsp:useBean id="DB" class="com.gx.bean.conn" />
<center><h2>投票结果</h2><table border bordercolor="#0099ff"><tr><th bgcolor="#CCFFFF">选项</th><th bgcolor="#CCFFFF">得票数</th><th bgcolor="#CCFFFF">比例</th></tr><%int totalNum =0;Connection conn = DB.getConn();Statement stmt = DB.getStatement(conn);ResultSet rs = DB.getResultSet(stmt,"select count from vote");while(rs.next()){totalNum += rs.getInt(1);}DB.close(rs);rs = DB.getResultSet(stmt,"select * from vote");while (rs.next()){out.println("<tr>");int num = rs.getInt("count");out.println("<td>"+rs.getString("item")+"</td>");out.println("<td>得:"+num+"票</td>");out.println("<td>得票率: ");out.println(num*100/totalNum+"%</td>");}DB.close(conn);DB.close(stmt);DB.close(rs);%></table><p><a href="index.jsp">返回投票页面</a></p>
</center>
</body>
</html>

(11)manage.jsp

<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.Statement" %>
<%@ page import="java.sql.ResultSet" %><%--Created by IntelliJ IDEA.User: 12526Date: 2021/1/16Time: 18:36To change this template use File | Settings | File Templates.
--%>
<%--<%@ include file="checkadmin.jsp"%>--%>
<%@ page contentType="text/html;charset=utf-8" language="java" %>
<%@ include file="checkadmin.jsp"%>
<html>
<head><title>Title</title>
</head>
<body>
<jsp:useBean id="DB" class="com.gx.bean.conn" scope="session"/>
<center><h2>系统维护</h2><table border bordercolor="#0099FF"><tr><th colspan="3" bgcolor="#CCFFFF">删除投票项</th><%Connection conn = DB.getConn();Statement stmt = DB.getStatement(conn);ResultSet rs = DB.getResultSet(stmt,"select * from vote");int i = 1;while (rs.next()){out.println("<tr>");out.println("<td>"+i+"</td>");out.println("<td>"+rs.getString("item")+"</td>");out.println("<td align='center'><a href='delete.jsp?delid="+ rs.getString("id") +" '>删除</a></td>");i++;}DB.close(rs);DB.close(conn);DB.close(stmt);%></tr><tr><th colspan="3" bgcolor="#CCFFFF">添加投票项</th></tr><tr><td colspan="3"><form action="add.jsp" method="post">内容:<input type="text" name="additem" size="30"><input type="submit" value="提交"><input type="reset" value="重置"></form></td></tr><tr><td colspan="3" align="center" bgcolor="#CCFFFF"><a href="index.jsp">返回投票页面</a></td></tr></table>
</center>
</body>
</html>

项目结构目录

数据库

jsp实现一个简单的投票系统相关推荐

  1. php一个简单的投票系统_一个简单的PHP投票系统

    一个简单的PHP投票系统 分享到: 作者:转接卡 建立2个表,一个用来显示当前主题,一个存放历史结果. 当前主题表结构:选项(包括主题),票数 历史结果表结构:id,主题名,关点,投票开始时间,投票结 ...

  2. 以太坊智能合约部署——一个简单的投票系统

    首先在Remix上进行测试 代码如下 pragma solidity ^0.4.16;/// @title Voting with delegation. contract Ballot {// Th ...

  3. 在线投票系统php,php简单 在线投票系统 源码下载,

    php简单 在线投票系统 源码下载,上次要和你一家公合作他们说要我写一个简单的投票系统,但是每一个IP只能投一次,好了下面就是我写的一个最最简单的投票系统了,是用php实现的. 先来创建数据库.有两个 ...

  4. 在线投票系统php源码,php简单 在线投票系统 源码下载,

    php简单 在线投票系统 源码下载,上次要和你一家公合作他们说要我写一个简单的投票系统,但是每一个IP只能投一次,好了下面就是我写的一个最最简单的投票系统了,是用php实现的. 先来创建数据库.有两个 ...

  5. 电脑编程用户注册界面java_用JSP/Servlet开发简单的用户注册系统

    用JSP/Servlet开发简单的用户注册系统 2.4界面编程实现 通过JavaBeans封装了大部分的逻辑或数据操作功能.这样,JSP页面中就可以减少很多Java代码,从而使得JSP的建立和修改变得 ...

  6. 用Java实现一个简单的考试系统

    用Java实现一个简单的考试系统 需求分析 设计思路 编码实现 需求分析 该考试系统可以实现的功能和系统要求应该包括: 学生:登录.考试.考试后查看成绩 老师:出题目(往题库中添加新题目).批阅卷子( ...

  7. 实现一个简单的投票功能

    实现一个简单的投票功能 最近项目中需要用到一个投票功能,当时觉得简单,向都没想就动手开始做,没想到走了不少弯路. 后来才发现,是想的太过简单了.来看看改进后的功能. 第一步:数据库设计 两个表:一个主 ...

  8. 一个简单的blog系统(九) 增加标签和标签页面

    一个简单的blog系统(九) 增加标签和标签页面 1.现在,我们来给博客添加标签和标签页面. 假定每篇文章最多只有两个标签,当单机主页左侧标签页链接的时候,跳转到标签页并且列出所有已经有的标签,当单击 ...

  9. 一个简单的blog系统(十一) 增加文章检索功能

    一个简单的blog系统(十一) 增加文章检索功能 1. 现在,我们就来给博客添加文章检索功能.假定,可以根据关键字魔木查询文章标题,也就是说支持正则表达式,而且字母不会区分大小写. 1.1 首先,我们 ...

最新文章

  1. 查看sqlserver被锁的表以及如何解锁
  2. 9path 导致的一场冤假错案
  3. python类相关的研究生专业-为什么很多大学生甚至研究生抛弃专业去做码农呢?...
  4. 商城计价中心 - 从容应对复杂场景价格计算
  5. ie提示保护计算机关闭网页,xp系统解决IE为保护计算机关闭网页方法分享
  6. HTTP协议学习---(三)摘要认证
  7. Linux下安装Apache Maven安装
  8. 《Ray Tracing in One Weekend》——Chapter 5: Surface normals and multiple objects
  9. 计算机绘图设备cmy,《计算机图形学》练习测试题库
  10. 定时器_定时器设计的门铃
  11. sht20中写用户寄存器_哪位帮忙看看下,程序读取SHT20 的温度时就不行,无ACK反馈了...
  12. 读书笔记——《柯维的智慧》格言
  13. EF + EFCore 学习
  14. 员工每月工资数据集可视化分析
  15. C语言/C++【switch语句详解(用法、规则、流程图、实例)】
  16. Redis主从配置,简单滴很
  17. 国家企业信息公示贵州 滑块打码验证
  18. Kivy a to z -- 前言
  19. dreamweaver家乡主题网页设计 DIV布局个人介绍网页模板代码 DW学生个人网站制作成品下载 HTML5期末大作业
  20. 东北大学金工实习考试及答案

热门文章

  1. 阿里巴巴宣布入股B站 持股比例约8%
  2. 4399笔试面试——感受
  3. Educoder大数据技术与应用作业-郑悦林
  4. linux clk模型
  5. 暑期培训《数学建模》一:模糊综合评价
  6. 使用PfamScan的API对蛋白结构域进行注释
  7. JavaScript 双击禁止选中文字
  8. python字体描边_Android为TextView添加字体库和设置描边的方法
  9. 市场经济下的“按劳分配”
  10. html实现纸张撕边效果,PS图片处理教程:PS撕边效果,脸部撕纸效果