15158846557 在线咨询 在线咨询
15158846557 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > 如何使用Java制作一个网页版的投票系统?

如何使用Java制作一个网页版的投票系统?

时间:2023-07-05 07:21:01 | 来源:网站运营

时间:2023-07-05 07:21:01 来源:网站运营

如何使用Java制作一个网页版的投票系统?:

投票系统的功能

设计一个投票系统,实现用户对某件事的匿名投票,有后台管理的功能,实现对整个系统的管理

功能需求

用户分为普通登陆用户以及管理员账户

普通用户提供以下功能:

系统首页上显示所有投票选项的列表,显示当前登录用户并提供注销功能,用户可以通过选中某个选项并点击“投票”按钮进行投票操作。

用户点击后可在当前一页面上看到各个投票选项目前的投票情况,主要包括各选项所得的票数,并且以柱形显示各选项的得票率,可以让用户从直观上看到各项的得票情况。

管理员用户提供以下功能:

显示当前登录用户并提供注销功能,提供系统管理实现用户的增删查改及重新投票等功能,还能显示用户列表及投票情况表。

开发的系统数据库设计要合理,能够实现设计的全部功能,能够运行演示。能够体一个软件的基本功能。

配置以及使用的技术

Jdk1.8、 tomcat6.0、 Eclipse、 sql server 2008、JSP

SQL Server系列软件是Microsoft 公司推出的关系型数据库管理系统。

普通用户模板关系图如下:

管理员模块关系图如下:

数据库设计如下:

关键代码实现

用户登录模块

<% request.setCharacterEncoding("gb2312"); String account = request.getParameter("account"); String password = request.getParameter("password"); UserDao udao = new UserDao(); User user = udao.getUserByAccount(account); if(user == null||!user.getPassword().equals(password)){ %> <br><br><br><br><br><br> 登录失败<a href="loginForm.jsp">返回登录页面</a> <% } else if(user.getAdmin()==true){ session.setAttribute("user", user); response.sendRedirect("admin.jsp"); } else{ session.setAttribute("user", user); response.sendRedirect("display.jsp"); } %>投票模块代码

<% String account=user.getAccount(); String[]teacherno =request.getParameterValues("teacherno"); VoteDao vdao = new VoteDao(); UserDao udao = new UserDao(); int ticket= udao.ticket(account); if(ticket>0){ if(teacherno!=null){ vdao.updateVotes(teacherno); vdao.updateTictet(account); } response.sendRedirect("display.jsp"); } else{ response.sendRedirect("noTicket.jsp"); } %>新建用户模块

<% request.setCharacterEncoding("gb2312"); String account = request.getParameter("account"); String password = request.getParameter("password"); String uname = request.getParameter("uname"); String admin =request.getParameter("admin"); UserDao udao = new UserDao(); User user2=udao.getUserByAccount(account); if(user2!=null){ %> <jsp:forward page="changeError2.jsp"></jsp:forward> <% } udao.adduser(account, password, uname, admin); %> <br><br><br><br><br><br> <p align="center">创建用户成功<br> <a href="admin.jsp">返回</a></p>删除用户模块

<% request.setCharacterEncoding("gb2312"); String account = request.getParameter("account"); String acc = user.getAccount(); if(acc.equals(account)){ %> <jsp:forward page="changeError3.jsp"></jsp:forward> <% } UserDao udao = new UserDao(); User user2=udao.getUserByAccount(account); if(user2==null){ %><jsp:forward page="changeError.jsp"></jsp:forward> <% } udao.deluser(account); %> <br><br><br><br><br><br> <p align="center">删除用户成功<br> <a href="admin.jsp">返回</a></p>修改用户模块

<% request.setCharacterEncoding("gb2312"); String account = request.getParameter("account"); String password = request.getParameter("password"); String uname = request.getParameter("uname"); String admin =request.getParameter("admin"); UserDao udao = new UserDao(); User user2=udao.getUserByAccount(account); if(user2==null){ %> <jsp:forward page="changeError.jsp"></jsp:forward> <% } udao.changeuser(account, password, uname, admin); %> <br><br><br><br><br><br> <p align="center">修改用户成功<br> <a href="admin.jsp">返回管理页面</a></p>初始化投票模块

public void initVote() throws Exception{ initConnection(); String sql="UPDATE T_VOTE SET VOTE = 0"; PreparedStatement ps = conn.prepareStatement(sql); ps.executeUpdate(); closeConnection();} public void initTicket() throws Exception{ initConnection(); String sql="UPDATE T_USER SET TICKET = 1"; PreparedStatement ps = conn.prepareStatement(sql); ps.executeUpdate(); closeConnection();}注销登录模块

<% session.invalidate(); response.sendRedirect("loginForm.jsp"); %>防刷票的实现

public int ticket(String account) throws Exception{ initConnection(); String sql ="SELECT TICKET FROM T_USER WHERE ACCOUNT= ? "; PreparedStatement ps = conn.prepareStatement(sql); ps.setString(1, account); ResultSet rs = ps.executeQuery(); rs.next(); int ticket =rs.getInt("TICKET"); if(ticket==0) { closeConnection(); return 0; } else { closeConnection(); return 1; } }

连接数据库

public void initConnection() throws Exception { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); conn=DriverManager.getConnection("jdbc:sqlserver://localhost: 1433;DatabaseName=Vote;user=root;password=123456789");

数据库操作设计

public User getUserByAccount(String account) throws Exception{ User use = null; initConnection(); String sql="SELECT ACCOUNT,PASSWORD,UNAME,ADMIN FROM T_USER WHERE ACCOUNT = ?"; PreparedStatement ps = conn.prepareStatement(sql); ps.setString(1, account); ResultSet rs =ps.executeQuery(); if(rs.next()) { use = new User(); use.setAccount(rs.getString("ACCOUNT")); use.setPassword(rs.getString("PASSWORD")); use.setUname(rs.getString("UNAME")); use.setAdmin(rs.getBoolean("ADMIN")); } closeConnection(); return use;


如需项目源码的同学请在公众号后台回复关键字【源码】领取



关键词:系统,投票,使用

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭