已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计论文设计题目 企业电子投票系统教学班:学生姓名:学 号:指导教师:完成日期:目 录第1部分 概 述.1第2部分 分析部分.221功能需求.2第3部分 系统设计.331功能模块设计.332数据库的设计.3第4部分 系统开发.341数据库.3411创建数据库.3412创建表.4413连接数据库.442功能的实现.543问题及解决.5第5部分 运行部分.551系统的安装.552系统的使用.6第6部分 附 录.8附录1 运行环境.81.1硬件要求.81.2.软件要求.9附录2 设计代码.91.vote.jsp. 92.result.jsp.103.add.jsp. 114.del.jsp.135.display.jsp.146.modify.jsp.157. DBConnect.java.18摘 要J2EE已经成为开发商创建电子商务应用的事实标准。正是认识到J2EE平台作为一种可扩展的、全功能的平台,可以将关键的企业应用扩展到任何Web浏览器上并可适合多种不同的Internet数据流、可连接到几乎任何一种传统数据库和解决方案、使企业经理根据多家企业所提供的产品和技术开发和部署最佳的解决方案进而降低开发网络化应用的费用和复杂性这一巨大优势,很多厂家都表示将对J2EE给予支持,并将J2EE技术作为大型BtoB市场和海量交易处理的安全稳定的端到端平台。已经有许多家厂商取得了Sun公司的许可,如BEA System、Sybase、Oracle以及Fujitsu等等。Sun还将推出适用于Linux的J2EE。无疑,J2EE为企业勾勒了一幅具有更强的伸缩性、开放性、安全性且简单易用的未来应用的蓝图。关键字:J2EE,J2EE平台,企业应用,Web浏览器第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,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。随着Internet和企业计算在90年代的腾飞,HTTP、HTML和Java平台逐渐演变成为针对客户机计算的标准,这带动了服务器上集中商业逻辑的发展以及电子商务的普及。在服务器端,CGI(Common Gateway Interface,公共网关接口)、NSAPI(Netscape Server API)和ISAPI(Internet Server API)等多种编程和连通性模型日趋流行,极大地增加了编程和维护的工作量。5年前,Sun公司的Java软件就以其提供的跨平台应用程序开发与配置手段震撼了整个Web世界。几年来,Java技术从一个网站工具发展到了可驾驭从智能卡、小型消费类设备到大型数据中心服务器等一系列系统的端到端Java 2平台,它使软件开发商、服务提供商和设备制造商更容易抢占市场机遇。目前,Java 2平台有3个版本,它们是适用于小型设备和智能卡的Java 2平台Micro版(Java 2 Platform Micro Edition,J2ME)、适用于桌面系统的 Java 2 平台标准版(Java 2Platform Standard Edition,J2SE)、适用于创建服务器应用程序和服务的Java 2平台企业版(Java 2 Platform Enterprise Edition,J2EE)。Sun公司在企业版中增加了一整套核心企业应用程序编程界面,而所有这些界面均为标准的模块化组件。J2EE技术还为这些组件提供一整套企业服务,通过自动化的方式完成应用程序开发中的诸多耗时且费力的艰难工作,为用户提供一种可创建广泛兼容的企业解决方案而无需进行复杂编程的平台。利用这一优势可以方便地开发出高质量的、适合企业使用的应用程序,还可极大地减少产品研发上市时间、成本和风险。企业级应用是指那些为商业组织、大型企业而创建并部署的解决方案及应用。这些大型企业级应用的结构复杂,涉及的外部资源众多、事务密集、数据量大、用户数多,有较强的安全性考虑。当代的企业级应用决不可能是一个个的独立系统。在企业中,一般都会部署多个彼此连接的、相互通过不同集成层次进行交互的企业级应用,同时这些应用又都有可能与其它企业的相关应用连接,从而构成一个结构复杂的、跨越Intranet和Internet的分布式企业应用群集。其中,连接企业内部各种应用的技术称为EAI(Enterprise Application Integration, 企业应用集成),而连接企业间各种应用的技术称为B2BI(Business-To-Business Integration, 企业间集成),采用EAI、B2BI技术及早先的N层体系架构就是当今企业级应用的最大特征。此外,作为企业级应用,其不但要有强大的功能,还要能够满足未来业务需求的变化,易于升级和维护。企业电子投票系统主要用来统计网站用户对某个主题或热门话题的意见。决策者通过这些统计数据做出相应的决策。企业电子投票系统是一般网站必备的程序之一,如果网站开发者想了解用户对该网站的意见和建议。他可以设计这样一个投票主题:你认为该网站如何?(A.很好B.一般C.不好)然后提供给用户进行投票。我的投票系统具有极大的灵活性,投票类型分为单选投票和多选投票。管理员可以在线设计不同的投票主题供用户进行投票。对于该设计报告还有什么不当之处请见谅,同时也希望你能多提宝贵意见。我会认真参考您的意见,修改和完善该系统。术语列表:JSP:(Java Server Pages),JSP是一种基于Java的技术,用来产生跨平台和跨Web服务器的动态页面。JDBC:(Java DataBase Connectivity),Java数据库连接。它主要是一套让你访问数据库的API,程序人员可以利用JDBCAPI来执行SQL语句。Servlet: Servlet可以称之为“服务器小程序”,与Java application不同,它没有main方法,而是用一些特定的方法用于启动、执行和退出。通过使用Servlet,可以与运行与客户端的Applet进行交互,也可以直接与HTML页进行交互。JavaBeans: JavaBeans是可复用的平台中立的软件组件,可以在软件开发工具中被直观地操作。应用程序开发者可以通过支持JavaBeans的开发工具,直接使用现成的JavaBeans,也可以在开发工具容器中,对组件进行必要的修改、测试而不必编写和编译程序。在Java模型中,组件可以修改或与其他组件组合以生成新组件或完整的应用程序。HTML:(HypertextMarkupLanguage)超文本标记语言,它是组织多媒体文档的重要语言,它不仅用来编写Web网页,而且可以使用它来制作光盘上的多媒体节目。HTML可用来编排文档、创建列表、建立链接等等。XML:(eXtensible Markup Language)可扩展标记语言,它是一种具有数据描述功能(Meta-language)、高度结构性及可验证性的语言。SQL:(StructuredQueryLanguage),结构化查询语言。SQL语言地任务就是与各种数据库建立关系,SQL语言是关系型数据库的标准语言,大多数关系型数据库管理系统都支持SQL语言并采用了SQL的语言标准。MySQL:MySQL是一个可用于各种流行操作系统平台的关系数据库系统,它具有客户机/服务器体系结构的分布式数据库管理系统。按照使用又可以分为DML(Data ManipulationLanguage),即数据操作语言和DDL(DataDefinitionLanguage)。第2部分 分析部分21功能需求该电子投票平台的设计是一个用来进行投票统计的系统软件,在投票之前需要进行身份验证。投票人经过验证后可以用浏览和查询的方式了解个候选人的介绍信息,根据候选人的介绍信息决定将选票投向哪位候选人。具体要实现以下功能:投票人主要功能需求:投票人的投票方式:输入要选举的候选人的编号,即可完成投票。投票人了解候选人的方式:浏览候选人列表,输入序号查询候选人介绍。管理人员的主要功能初始化候选人信息:在系统投入使用前需要先将需要投票选举的候选人信息录入系统中,以便投票和查看。这个功能由管理员完成。管理员的初始化工作就是将候选人的序号、姓名和简介录入系统。浏览候选人简介:为随时掌握候选人的信息,以便进行修改,管理员有权浏览候选人简介。浏览的顺序按照候选人序号即可。修改候选人简介:当系统更新或候选人信息有所变化时,输入候选人序号,对信息进行修改。查询投票情况:管理员有权查询当前各个候选人得票情况,以便得出最终被选中的候选人信息。清除投票信息:当投票过程结束后,管理员选择清除投票信息既可清除系统中所有候选人的票数,使之归零。安全管理:管理员可以对投票人信息进行管理,投票人只有用管理员规定的用户名和密码才能进入系统进行投票。管理员还可以更改用户名、密码和权限,并对投票人信息进行增加、删除、查询、排序和初始化等操作。通过对用户的需求调查分析,可以概括出用户的功能需求如下:单选投票、多选投票、查看投票、投票设计。 单选投票:用户只能从多个选项中选取一项进行投票。 多选投票:用户可以从多个选项中选取多项进行投票。 查看投票:提供用户查看当前投票情况,投票结果以条形图显示。 投票设计:管理员可以设计不同的投票主题,及投票主题的内容供用户进行投票。投票设计又包括以下功能需求:增加主题、删除主题、查看主题、修改主题。第3部分 系统设计31功能模块设计通过对功能需求进行分析和概括得到如图所示的系统功能模块图:32数据库的设计该系统的数据库采用MySQL,根据投票系统功能设计的要求,可以列出以下数据项和数据结构: 投票表:存放投票信息,数据项包括:序号、标识、选项类型、投票主题、投票选项内容、得票数。 第4部分 系统开发41数据库411创建数据库CREATE DATABASE db70019618;412创建表创建数据库中用到的投票表:CREATE TABLE vote( id INT NOT NULL AUTO_INCREMENT,flag int,optType int,question CHAR(255),optContent CHAR(255),number INT,PRIMARY KEY(id),);数据库创建后的结构图如下:413连接数据库该系统使用了MySQL的JDBC驱动程序来连接数据库。因为对数据库的访问,在整个系统中比较频繁,所以我将对数据库的操作写成一个DBConnect的类,通过该类来连接数据库和访问数据库。/部分代码如下public DBConnect() try /加载数据库驱动程序Class.forName(sDBDriver);/建立连接conn = DriverManager.getConnection(sConnStr);catch (Exception e) System.out.println(DBConnect(): + e.getMessage();42功能的实现投票流程图:该流程图已经包含了企业电子投票系统的制作的主要方法。下面的工作实际上就是按照该流程图,写出具体的代码。在附录2 设计代码中有我开发的代码,并附有注释。所以在这里我就不展开介绍每一个功能的开发过程。43问题及解决这部分应该写在开发中遇到了哪些问题,如何解决等。第5部分 运行部分51系统的安装该系统我在j2sdk1.4.1_01+resin-2.1.9+MySQL-4.0.12-nt环境下测试通过:安装步骤:该系统需要JSP运行环境和MySQL数据库,如果服务器还没有搭建的话请先搭建。1.把vote、WEB-INF(vote文件夹存放的是.jsp文件,WEB-INF存放的是该系统使用到的一些.class文件)文件夹上传到你的主机目录。2.修改DBConnect.java里连接MySQL数据库的IP、用户名和密码为你自己的IP,user,password修改编译之后放到WEB-INFclasses目录下面。3请创建数据库db70019517,然后使用mysql db70019517在线投票单选投票);ResultSet rs1;sql=select * from vote where flag=+id;rs1=dbBean.executeQuery(sql);out.print();/输出该主题的选项while(rs1.next()id1=rs1.getInt(id);optContent=rs1.getString(optContent);if(optType=0)type=radio;elsetype=checkbox;% name=vote value= 2.result.jsp投票结果单选投票结果);sql=select * from vote where flag=+id;rstotal=dbBean.executeQuery(sql);/求得投票的总数while(rstotal.next()number=rstotal.getInt(number);total+=number;sql=select * from vote where flag=+id;rs1=dbBean.executeQuery(sql);out.print();/输出各选项的得票数while(rs1.next()id1=rs1.getInt(id);optContent=rs1.getString(optContent);number=rs1.getInt(number);% 得票数: height = 10返回主页 3.add.jsp增加主题增加主题 增 加 主题 | 删 除 主题 | 查看主题| 修改主题 |返回首页请输入主题名: 多选 i+)% 选项: value= size=504.del.jsp删除主题删除主题 增加主题 | 删除主题 | 查看主题|修改主题 |返回首页请输入删除的序号(ID):5.display.jsp查看主题查看主题 增 加 主题 | 删 除 主题 | 查看主题|修改主题 |返回首页序号标识投票主题投票选项得票 数);out.println(+rs.getInt(id)+);out.println(+rs.getInt(flag)+);out.println(+rs.getString(question)+);out.println(+rs.getString(optContent)+);out.println(+rs.getInt(number)+);out.println();%6.modify.jsp修改主题修改主题增加主题|删除主题| 查看主题|修改主题 |返回首页请输入您所要修改的主题名: 题目 size=50maxlength=50 选项 size=100value= value= 是否多选 7. DBConnect.javapackage vote;import java.sql.*;public class DBConnect /设置连接数据库的参数private String user = s70019618;private String password = s7001618;/MySQL的JDBC驱动程序String sDBDriver = org.gjt.mm.mysql.Driver;/连接数据库String sConnStr = jdbc:mysql:/localhost:3306/db70019618?userResultSet rs = null;public DBConnect() try /加载数据库驱动程序Class.forName(sDBDriver);/建立连接conn = DriverManager.getConnection(sConnStr);catch (Exception e) System.out.println(DBConnect(): + e.getMessage();/查询public ResultSet executeQuery(String sql) try stmt = conn.createStatement();rs = stmt.executeQuery(sql);catch (SQLException ex) System.out.println(sql.executeQuery: + ex.getMessage();return rs;/更新public boolean executeUpdate(String sql)trystmt = conn.createStatement();stmt.executeUpdate(sql);return true;catch (SQLException ex) System.out.println(sql.executeUpdate: + ex.getMessage();return false;/关闭数据库的连接public void close() throws Exceptionconn.close();stmt.close();企业电子投票系统管理员可以发布新问题,撤消正在发布的主题,修改、删除已经被撤消的主题。 退出登陆正在被投票的主题发布时间主题撤消|恢复是否公布结果);out.print(+date+);out.print(+question+);out.print( 撤 消);if (isopen = 1)out.print(隐藏结果);else out.print(公布结果);out.print();% 管理员需要重新编辑投票主题,请先将该主题撤消,暂停被投票。新发布或是刚被修改的投票主题需要确认“恢复”才能被发布。已经撤消或者尚未发布的主题发布时间主题撤消|恢复重新编辑永久删除 );out.print(+_date+);out.print(+_question+);out.print( 恢 复);out.print( 编 辑 方 式 A编辑方式B);out.print(删除);out.print();% 查看所有主题投票统计发布新问题用户管理=10)return (String.valueOf(i);else return (0+String.valueOf(i);% 错 误 信 息 +errmsg+);out.print();else if(isempty(item0)+isempty(item1)+isempty(item2)+isempty(item3)+isempty(item4)+isempty(item5)+isempty(item6)+isempty(item7)+isempty(item8)+isempty(item9) 错 误 信 息 +errmsg+);out.print();else if(question.length()=0)String errmsg = 问题不可为空!;out.print( 错 误 信 息 +errmsg+);out.print();else/更新主题sql = update Questions set Question = +question+,Date = +time+,IsVisable = 0 whereQuestionID = +questionid;smt.executeUpdate(sql);/out.print(sql+更新主题);/提取原有选项的记数sql = select ItemCount from Items where QuestionID = +questionid;rs = smt.executeQuery(sql);/out.print(sql+提取原有选项的记数);int count=new int10;int j = 0;while(rs.next() countj=rs.getInt(1);/out.print(countj+);/out.print(rs.getInt(1);j+;out.print(j=+j+);/删除选项sql = delete from Items where QuestionID = +questionid;smt.executeUpdate(sql);/out.print(sql+删除选项+);Statement_smt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);for(int i = 0,k = 0;i);/out.print(itemi+);response.sendRedirect(mainform.jsp);%错误信息=10)return (String.valueOf(i);else return (0+String.valueOf(i);% 错 误 信 息 +errmsg+);out.print();else if(isempty(item0)+isempty(item1)+isempty(item2)+isempty(item3)+isempty(item4)+isempty(item5)+isempty(item6)+isempty(item7)+isempty(item8)+isempty(item9) 错 误 信 息 +errmsg+);out.print();else if(question.length()=0)String errmsg = 问题不可为空!;out.print( 错 误 信 息 +errmsg+);out.print();elseint year,month,day,hour,minute,second;String time;GregorianCalendar calendar;calendar = new GregorianCalendar();year = calendar.get(Calendar.YEAR);month = calendar.get(Calendar.MONTH)+1;day = calendar.get(Calendar.DAY_OF_MONTH);hour = calendar.get(Calendar.HOUR_OF_DAY);minute = calendar.get(Calendar.MINUTE);second = calendar.get(Calendar.SECOND);time = year +-+transfer(month)+- + transfer(day) +transfer(hour)+:+transfer(minute)+:+transfer(second);sql = insert into Questions(Question,Date) values(+question+,+time+);smt.executeUpdate(sql);sql = s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年北京高考化学二轮复习专题17 化学实验基础(复习讲义)(解析版)
- 大面积脑梗介入手术围术期的护理
- 非财人员财务通识
- 2025年甘孜州船头学校选调事业单位工作人员真题
- 2025年陕西西安高新健嘉康复医院招聘考试真题
- 《数控加工编程与操作2》课件-0.1.1 课程系统简介
- 2026年德阳市信访系统事业单位人员招聘考试备考试题及答案详解
- 三年职业规划路径
- 2026年本溪市不动产登记中心人员招聘考试备考试题及答案详解
- 2026北京化工大学化学学院科普基地建设岗位招聘1人笔试参考题库及答案解析
- 电力模块施工方案(3篇)
- 拆除施工安全文明方案
- 2025年民生银行招聘考试(综合知识)测试题及答案
- 2025年总部运营专员招聘面试参考题库及答案
- 树林下裸地绿化施工方案
- 广东省佛山市南海实验中学2026届九上物理期中综合测试试题含解析
- 《婴幼儿常见病识别与应对》全套教学课件
- 小熊的早晨童话剧课件
- 2025年湖南省低空经济发展集团有限公司招聘11人笔试参考题库附带答案详解
- 碎石加工厂员工安全培训与管理方案
- 《学习困难门诊规范化建设专家共识(2025)》解读
评论
0/150
提交评论