java毕业设计——基于JSP+mysql的企业电子投票系统设计与实现(毕业论文+程序源码)——企业电子投票系统

基于JSP+mysql的企业电子投票系统设计与实现(毕业论文+程序源码)

大家好,今天给大家介绍基于JSP+mysql的企业电子投票系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦

文章目录:

1、项目简介

  1. J2EE已经成为开发商创建电子商务应用的事实标准。正是认识到J2EE平台作为一种可扩展的、全功能的平台,可以将关键的企业应用扩展到任何Web浏览器上并可适合多种不同的Internet数据流、可连接到几乎任何一种传统数据库和解决方案、使企业经理根据多家企业所提供的产品和技术开发和部署最佳的解决方案进而降低开发网络化应用的费用和复杂性这一巨大优势,很多厂家都表示将对J2EE给予支持,并将J2EE技术作为大型BtoB市场和海量交易处理的安全稳定的端到端平台。已经有许多家厂商取得了Sun公司的许可,如BEA System、Sybase、Oracle以及Fujitsu等等。Sun还将推出适用于Linux的J2EE。无疑,J2EE为企业勾勒了一幅具有更强的伸缩性、开放性、安全性且简单易用的未来应用的蓝图。


2、资源详情

项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:8131个字38页
包含内容:全套源码+配整论文


3、关键词

J2EE,J2EE平台,企业应用,Web浏览器

4、毕设简介

提示:以下为毕业论文的简略介绍,项目完整源码及完整毕业论文下载地址见文末。

第1部分 概 述
J2EE是一种利用Java 2平台来简化诸多与多级企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如“编写一次、到处运行”的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对 EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持。

J2EE体系包括java server pages(JSP) ,java SERVLET, enterprise bean,WEB service等技术。这些技术的出现给电子商务时代的WEB应用程序的开发提供了一个非常有竞争力的选择。怎样把这些技术组合起来形成一个适应项目需要的稳定架构是项目开发过程中一个非常重要的步骤。完成这个步骤可以形成一个主要里程碑基线。

J2EE架构是当前主流的架构之一,目前大多数企业采用J2EE技术的结构设计与解决方案。J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持Enterprise JavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。

企业级应用是指那些为商业组织、大型企业而创建并部署的解决方案及应用。这些大型企业级应用的结构复杂,涉及的外部资源众多、事务密集、数据量大、用户数多,有较强的安全性考虑。

当代的企业级应用决不可能是一个个的独立系统。在企业中,一般都会部署多个彼此连接的、相互通过不同集成层次进行交互的企业级应用,同时这些应用又都有可能与其它企业的相关应用连接,从而构成一个结构复杂的、跨越Intranet和Internet的分布式企业应用群集。其中,连接企业内部各种应用的技术称为EAI(Enterprise Application Integration, 企业应用集成),而连接企业间各种应用的技术称为B2BI(Business-To-Business Integration, 企业间集成),采用EAI、B2BI技术及早先的N层体系架构就是当今企业级应用的最大特征。

此外,作为企业级应用,其不但要有强大的功能,还要能够满足未来业务需求的变化,易于升级和维护。
企业电子投票系统主要用来统计网站用户对某个主题或热门话题的意见。决策者通过这些统计数据做出相应的决策。企业电子投票系统是一般网站必备的程序之一,如果网站开发者想了解用户对该网站的意见和建议。他可以设计这样一个投票主题:你认为该网站如何?(A.很好
B.一般C.不好)然后提供给用户进行投票。
我的投票系统具有极大的灵活性,投票类型分为单选投票和多选投票。管理员可以在线设计不同的投票主题供用户进行投票。
对于该设计报告还有什么不当之处请见谅,同时也希望你能多提宝贵意见。我会认真参考您的意见,修改和完善该系统。

术语列表:
省略

第2部分 分析部分
2.1.功能需求
该电子投票平台的设计是一个用来进行投票统计的系统软件,在投票之前需要进行身份验证。投票人经过验证后可以用浏览和查询的方式了解个候选人的介绍信息,根据候选人的介绍信息决定将选票投向哪位候选人。具体要实现以下功能:
投票人主要功能需求:
①投票人的投票方式:
输入要选举的候选人的编号,即可完成投票。
②投票人了解候选人的方式:
浏览候选人列表,输入序号查询候选人介绍。
管理人员的主要功能
①初始化候选人信息:
在系统投入使用前需要先将需要投票选举的候选人信息录入系统中,以便投票和查看。这个功能由管理员完成。管理员的初始化工作就是将候选人的序号、姓名和简介录入系统。
②浏览候选人简介:
为随时掌握候选人的信息,以便进行修改,管理员有权浏览候选人简介。浏览的顺序按照候选人序号即可。
③修改候选人简介:
当系统更新或候选人信息有所变化时,输入候选人序号,对信息进行修改。
④查询投票情况:
管理员有权查询当前各个候选人得票情况,以便得出最终被选中的候选人信息。
⑤清除投票信息:
当投票过程结束后,管理员选择清除投票信息既可清除系统中所有候选人的票数,使之归零。

⑥安全管理:
管理员可以对投票人信息进行管理,投票人只有用管理员规定的用户名和密码才能进入系统进行投票。管理员还可以更改用户名、密码和权限,并对投票人信息进行增加、删除、查询、排序和初始化等操作。通过对用户的需求调查分析,可以概括出用户的功能需求如下:单选投票、多选投票、查看投票、投票设计。
 单选投票:用户只能从多个选项中选取一项进行投票。
 多选投票:用户可以从多个选项中选取多项进行投票。
 查看投票:提供用户查看当前投票情况,投票结果以条形图显示。
 投票设计:管理员可以设计不同的投票主题,及投票主题的内容供用户进行投票。投票
设计又包括以下功能需求:增加主题、删除主题、查看主题、修改主题。

第3部分 系统设计
3.1.功能模块设计
通过对功能需求进行分析和概括得到如图所示的系统功能模块图:
在这里插入图片描述

3.2.数据库的设计
该系统的数据库采用MySQL,根据投票系统功能设计的要求,可以列出以下数据项和数据结构:
 投票表:存放投票信息,数据项包括:序号、标识、选项类型、投票主题、投票选项内容、得票数。

第4部分 系统开发
4.1.数据库
4.1.1.创建数据库
CREATE DATABASE db70019618;
4.1.2.创建表
创建数据库中用到的投票表:

CREATE TABLE vote
(
  id INT NOT NULL AUTO_INCREMENT,
  flag int,
  optType int,
  question CHAR(255),
  optContent CHAR(255),
  number INT,
  PRIMARY KEY(id),
);

数据库创建后的结构图如下:
在这里插入图片描述

4.1.3.连接数据库
该系统使用了MySQL的JDBC驱动程序来连接数据库。因为对数据库的访问,在整个系统中比较频繁,所以我将对数据库的操作写成一个DBConnect的类,通过该类来连接数据库和访问数据库。

//部分代码如下
public DBConnect() {
    try {
	  //加载数据库驱动程序
      Class.forName(sDBDriver);
      //建立连接
	  conn = DriverManager.getConnection(sConnStr);
    }
	catch (Exception e) {
      System.out.println("DBConnect():" + e.getMessage());
    }
  }

4.2.功能的实现
投票流程图:
在这里插入图片描述

该流程图已经包含了企业电子投票系统的制作的主要方法。下面的工作实际上就是按照该流程图,写出具体的代码。在附录2 设计代码中有我开发的代码,并附有注释。所以在这里我就不展开介绍每一个功能的开发过程。

4.3.问题及解决
这部分应该写在开发中遇到了哪些问题,如何解决等。

第5部分 运行部分
5.1.系统的安装
省略

5.2.系统的使用
为了直观,在这里我将主要通过程序运行截图来介绍该投票系统的使用。
 在浏览器地址栏里输入企业电子投票系统的URL后,将进入企业电子投票系统的首页。在首页中显示了该系统的操作。
在这里插入图片描述

 在首页中点击你所要进行的操作,即可打开相应的页面。如点击“单选投票”链接即可打开单选投票页面。
在这里插入图片描述

 在首页中点击“多选投票“链接,打开多选投票页面。
在这里插入图片描述

 在首页中点击“在线投票“链接后,可以查看在线投票的结果。
在这里插入图片描述

 在首页中点击“投票设计“链接后,即可打开投票设计中的”增加主题“,同时你会看到投票设计中的其它几项功能:删除主题、查看主题、修改主题、返回首页。增加主题的方法如下图所示:
在这里插入图片描述

 在投票设计中点击“删除主题“链接后,即可打开删除主题页面。如果你要删除某个主题以及其选项,只需在文本框中输入其ID号即可。(如果你不知道待删除主题的ID号你可以首先点击”查看主题“查看其ID号。
在这里插入图片描述

 在投票设计中点击“查看主题“链接后,即可打开查看主题页面。
在这里插入图片描述

 在投票设计中点击“修改主题“链接后,即可打开修改主题页面。如果你要修改某个主题以及其选项,只需在文本框中输入其主题名即可。(如果你不知道待修改主题的主题名你可以首先点击”查看主题“查看其主题名并复制主题名,然后将其粘贴到修改主题名的文本框中,点查询即可打开相应的主题及其选项。
在这里插入图片描述

第6部分 附 录
附录1 运行环境
省略

附录2 设计代码
省略

谢 辞
毕业设计是大学生活的最后一课,也是相当重要的一课。在此,我非常感谢我的设计指导教师,在她的耐心指导和鼓励支持下,我的毕业设计得以顺利完成。感谢系领导和机房老师为我们提供了良好的设计环境。同时我也要感谢帮助过我的同学,朋友。尤其是我的同组同学,在系统的设计过程中提出了许多建设性的意见和建议。在此,谨代表我本人向他们致以衷心的感谢,谢谢各位为本人的毕业设计所做的一切!
我将在以后的道路上再接再厉,取得更加优异的成绩!

参考文献
[1].《SQL Server数据库原理及应用教程》编著:张莉、王强、赵文、董莉;清华大学出版社。
[2].《JSP编程技术与应用》主编:方逵;副主编:许向阳、李建军、高明;高等教育出版社。
[3].《JSP网站编程教程》主编:屈辉立、陈可明、石武信;北京希望电子出版社
[4].《Java网络编程实例教程》主编:姜利群;清华大学出版社、北京交通大学出版社。
[5].《Tomcat与Java Web开发技术详解》主编:孙卫琴、李洪成;电子工程出版社


5、资源下载

本项目源码及完整论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。

序号毕业设计全套资源(点击下载)
本项目源码基于JSP+mysql的企业电子投票系统设计与实现(源码+文档)_jsp_BS架构_企业电子投票系统.zip
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
package com.frog.vote.servlet.front; import java.io.IOException; import java.sql.Timestamp; import java.util.ArrayList; import java.util.List; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.frog.vote.bean.UserBean; import com.frog.vote.cons.Const; import com.frog.vote.dao.entity.Vote; import com.frog.vote.factory.ServiceFactory; public class VoteServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("gbk"); resp.setContentType("text/html;charset=gbk"); // 先取出操作参数 String action = req.getParameter("action"); ServletContext application = getServletContext(); // 显示的列表 if ("show".equals(action)) { // 调用service层方法得到所有的 String temp = req.getParameter("page"); int page = 1; if (temp != null) { try { page = Integer.parseInt(temp); } catch (NumberFormatException e) { e.printStackTrace(); } } UserBean ub = (UserBean)req.getSession().getAttribute(Const.USER); int uid = ub.getId(); req.setAttribute("page", ServiceFactory .getVoteService().listUserPage(page,uid)); application.getRequestDispatcher("/WEB-INF/front/list.jsp") .forward(req, resp); return; } else if ("save".equals(action) || "update".equals(action)) { String sid = req.getParameter("id"); String[] answers = req.getParameterValues("choice"); List<Integer> list = new ArrayList<Integer>(); int temp; for (String answer : answers) { temp = Integer.parseInt(answer); list.add(temp); } int tid = Integer.parseInt(sid); UserBean ub = (UserBean)req.getSession().getAttribute(Const.USER); Vote vote = new Vote(); vote.setUid(ub.getId()); vote.setTid(tid); vote.setVoteTime(new Timestamp(System.currentTimeMillis())); vote.setAnswer(list); vote.setIp(req.getRemoteAddr()); List<String> listErr = null; if ("update".equals(action)) { // flag = ServiceFactory.getVoteService().update(vote); } else { vote.setStatus(Vote.STATUS_ACTIVE); listErr = ServiceFactory.getVoteService().save(vote); } if (listErr==null) { // resp.sendRedirect(req.getContextPath()+"/main?action=welcome"); application.getRequestDispatcher("/WEB-INF/front/success.jsp").forward(req, resp); return; } req.setAttribute("err", listErr); req.getRequestDispatcher("/err.jsp").forward(req, resp); return; } else if ("delete".equals(action)) { String gid = req.getParameter("gid"); int gidNumber = Integer.parseInt(gid); boolean flag = ServiceFactory.getVoteService().delete(gidNumber); if (flag) { req.getRequestDispatcher("/admin/goods?action=list").forward( req, resp); return; } req.getRequestDispatcher("/err.jsp").forward(req, resp); return; } else if ("modify".equals(action)) { String gid = req.getParameter("gid"); int gidNumber = Integer.parseInt(gid); Vote vote = ServiceFactory.getVoteService().getById(gidNumber); req.setAttribute("detai", vote); if (vote != null) { req.getRequestDispatcher("/admin/goods/modify.jsp").forward( req, resp); return; } req.getRequestDispatcher("/err.jsp").forward(req, resp); return; } } }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕业设计方案专家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值