网上投票系统的开发和设计毕业设计_第1页
网上投票系统的开发和设计毕业设计_第2页
网上投票系统的开发和设计毕业设计_第3页
网上投票系统的开发和设计毕业设计_第4页
网上投票系统的开发和设计毕业设计_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE33PAGE摘要所有平台都支持Java,JSP+JavaBean可以在所有平台下通行无阻。NT下IIS通过一个插件,例如JRUN(/products/jrun/)或者ServletExec(/),就能支持JSP。著名的Web服务器Apache已经能够支持JSP。由于Apache广泛应用在NT、Unix和Linux上,因此JSP有更广泛的运行平台。虽然现在NT操作系统占了很大的市场份额,但是在服务器方面Unix的优势仍然很大,而新崛起的Linux更是来势不小,从一个平台移植到另外一个平台,JSP和JavaBean甚至不用重新编译,因为Java字节码都是标准的与平台无关的。笔者将在NT下实验的JSP网页原封不动地拿到Linux下就运行起来了,感觉非常满意。SQLServer2000是基于结构查询语言(SQL)的可伸缩的关系数据库,它支持Internet应用程序的可扩展标记语言(XML),并由数据库、关系数据库、结构化查询语言和可扩展标记语言等部分组成,SQLServer2000提供两种组件作为应用程序访问数据库的接口:应用程序接口(API)和统一资源定位器(URL)。数据库API提供了应用程序和数据库之间的接口:定义如何编写应用程序与数据库连接的代码,以及如何向数据库传递命令。对象模型API通常不依赖于语言,用于定义一组对象、属性和接口,因此,用JSP,SQLserver能够体现快速与效率,充分显示了这两门语言在网页程序中的作用。就选用这个来做网上投票系统。关键词:JAVA(JDK1.4.1);J2EE(JDK1.5.0);TOMCAT;JSP;SQLserver;

毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名:日期:

学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名: 日期:年月日导师签名:日期:年月日

目录TOC\o"1-4"\h\z第一章绪论 11.1介绍SQLServer2000 11.1.1关系数据库组件 1数据库 1关系数据库 1结构化查询语言 1可扩展标记语言 11.1.2管理构架 21.1.3应用程序构架 2应用程序接口(API) 2对数据库的访问 21.3JSP概述 21.2.1需求安装和启动 2下载JDK 2下载Tomcat 2安装 2启动 31.2.5数据库连接访问 31.2.6概况 3效率和安全性更高 3组件(Component)方式更方便 3适应平台更广 41.2.7JSP的特点 4生成可重用的组件。 4JSP能提供所有的Servlets功能。 4一次编写,随处运行 4Java中连接数据库的技术是JDBC(JavaDatabaseConnectivity)。 41.3Tomcat简介 41.3.1建构一个Web应用软件样本 41.3.2总结 5第二章投票系统 62.1主页面 62.2安装和配置 62.2.1安装 62.2.2配置 62.3安装和配置Tomcat 72.3.1安装 72.3.2测试安装 7第三章系统简介 83.1总图 83.2主页面功能 103.2.1配置按钮 103.2.2保存系统资料 113.2.3配置日期 113.2.4调用文本 123.3注册页面 123.3.1配置输入 123.3.2框架 133.4修改系统资料 153.5数据库的调用 153.6投票界面 16结论 18致谢 19参考文献 20附录 21第一章绪论1.1介绍SQLServer2000SQLServer2000以其卓越的性能逐渐成为Windows操作系统平台下进行数据库应用开发中较为理想的选择之一。SQLServer2000由一系列相互协作的组件构成,能最大程度地满足Web站点和企业数据处理系统存储和分析数据库的需要,这些组件主要包括:●关系数据库组件,包括数据库引擎本身和应用程序与数据库引擎间通信所涉及的组件。●数据库结构,描述SQLServer数据库中定义的逻辑组件,以及如何在数据库文件中真正实现这些组件。●关系数据库引擎构架,描述服务器引擎各项功能。这些功能使服务器引擎得以高效地处理大量并发用户的数据要求。●管理构架与复制构架,管理构架描述SQLServer2000附带的易用工具和减少日常管理任务的SQLServer动态配置;复制构架描述SQLServer2000的复制组件以及使用这些组件在数据库间分发数据。●应用程序开发构架,描述SQLServer2000如何支持各数据库编程API,使用户能够创建可靠的数据库应用程序。1.1.1关系数据库组件SQLServer2000是基于结构查询语言(SQL)的可伸缩的关系数据库,它支持Internet应用程序的可扩展标记语言(XML),并由数据库、关系数据库、结构化查询语言和可扩展标记语言等部分组成。数据库数据库与数据文件相似,同为储存数据的场所,且并不直接向用户显示信息。数据库系统比数据文件的功能强大,因为数据库中的数据组织程度更高。关系数据库组织数据库数据的方法有很多种,而关系数据库是最为高效的一种。结构化查询语言处理关系数据库的语言有很多种,其中最常用的是SQL。可扩展标记语言可扩展标记语言(XML)是新出现的Internet数据标准,可用于定义超文本文档结构。XML文档可由显示Web页的最重要语言――超文本标记语言(HTML)轻松处理。1.1.2管理构架SQLServer2000提供了很多高效的管理工具和服务以便自动执行或消除数据库管理员所执行的重复工作。1.1.3应用程序构架SQLServer2000提供两种组件作为应用程序访问数据库的接口:应用程序接口(API)和统一资源定位器(URL)。应用程序接口(API)数据库API提供了应用程序和数据库之间的接口:定义如何编写应用程序与数据库连接的代码,以及如何向数据库传递命令。对象模型API通常不依赖于语言,用于定义一组对象、属性和接口。SQLServer支持很多用于生成通用数据库应用程序的API,现将最常用的功能介绍如下。●OLEDB:OLEDB是一种低层的应用数据访问的COM(组件对象模型)API.●ActiveX数据对象(ADO):ADO是一种OLEDB兼容数据源的数据访问接口。●开放式数据库连接(ODBC)和在ODBC上生成的对象API:远程数据对象(RDO)和数据访问对象(DAO)。对数据库的访问数据库并行访问,也就是两个或两以上用户同时访问同一数据,这也是数据库引擎如何设计和实现适度反应所面临的最大问题。设计优良、性能卓越的数据库引擎可以轻松地同时为成千上万的用户服务。而“底气不足”的数据库系统随着更多的用户同时访问系统将大大降低其性能。最糟糕的情况下甚至可能导致系统的崩溃。1.3JSP概述1.2.1需求安装和启动为了实验JSP技术,首先需要建立运行环境。下载在/jdk/处下载JDK(Java2SDK、StandardEdition、v1.4.0)。下载在/处下载Tomcat5.0。JDK的安装是首先运行下载得到的jdk1_4_1-win.exe,然后修改系统环境参数,环境参数是在运行中最重要的一个参数,如果在参数设置上有任何的问题,jsp将不会得到正常的运行,当然,网页程序就更不会正常的显示出来了,因此简单介绍变量的设置,在PATH参数中加入[x:]\jdk1.4.1\bin以及增加新的环境参数CLASSPATH=[x:]\jdk1.4.1Tomcat的安装是把文件安装在C:\根目录下,然后修改系统环境参数,在JAVA_HOME=[x:]\jdk.1以Windowsserver2003环境为例,在\jakarta-tomcat-5.0.24\目录下执行startserver.bat,就可启动JSWDK中一个支持JSP网页技术的Web服务器。为了不与现有的Web服务器(例如IIS、PWS等)冲突,JSWDK的Web服务器使用了8080端口。在浏览器的地址栏中键入http://localhost:8080或者:8080后,如果能看到JSWDK的欢迎页就说明JSP实验环境已经建成,可进入下一步实验。要关闭Web服务器则运行stopserver.bat。1.2.5数据库连接访问据库连接对动态网站来说是最为重要的部分,Java中连接数据库的技术是JDBC(JavaDatabaseConnectivity)。很多数据库系统带有JDBC驱动程序,Java程序就通过JDBC驱动程序与数据库相连,执行查询、提取数据等等操作。Sun公司还开发了JDBC-ODBCbridge,用此技术Java程序就可以访问带有ODBC驱动程序的数据库,目前大多数数据库系统都带有ODBC驱动程序,所以Java程序能访问诸如Oracle、Sybase、MSSQLServer和MSAccess等数据库。下面介绍如何用Access实现一个动态FAQ(常见问题及答案)网站。首先建立一个Access数据库faq.mdb,其中的表faqs有字段id(自动增量型,并设为主关键字)、subject(文字型,长度200)、answers(备注型)。这个表中可以存放一些编程知识的常见问题及答案。1.2.6Microsoft公司的ASP技术也是动态网页开发技术。JSP和ASP从形式上非常相似,ASP程序员一眼就能认出<%%>以及<%=%>。但是深入探究下去会发现它们很多的差别,其中最主要的有以下三点:1.2.6ASP以源码形式存放,以解释方式运行,每次ASP网页调用都需要对源码进行解释,运行效率不高。另外,IIS的漏洞曾使得许多网站源程序大曝光,包括笔者以前用ASP开发的网站,ASP程序全部被人下载了去。JSP在执行以前先被编译成字节码(bytecode),字节码由Java虚拟机(JavaVirtualMachine)解释执行,比源码解释的效率高;服务器上还有字节码的Cache机制,能提高字节码的访问效率。第一次调用JSP网页可能稍慢,因为它被编译成Cache,以后就快得多了。同时,JSP源程序不大可能被下载,特别是JavaBean程序完全可以放到不对外的目录中。1.2.6ASP通过COM来扩充复杂的功能,如文件上载、发送email以及将业务处理或者复杂计算分离出来成为独立可重复利用的模块。JSP通过JavaBean实现了同样的功能扩充。在开发方面,COM的开发远比JavaBean复杂和繁琐,学会ASP不难,但学会开发COM可不简单。而JavaBean就简单多了,从本文上述示例中可以看出开发JavaBean很方便。在维护方面,COM必须在服务器上注册,如果修改了COM程序,就必须重新注册,甚至必须关机和重新启动。JavaBean则不需要注册,放在CLASSPATH包含的目录中就行了。如果JavaBean进行了修改,则JSWDK和Tomcat现在还需要关闭和重新运行(但不是关机),但开发者已经许诺将在以后的版本中做到不需要关闭服务器。另外JavaBean是完全的OOP,可以针对不同的业务处理功能方便地建立一整套可重复利用的对象库,例如用户权限控制、email自动回复等等。1.2.6ASP目前仅适用于NT和IIS。虽然Unix下有ChiliSoft的插件来支持ASP,但是ASP本身的功能有限,必须通过ASP+COM的组合来扩充,Unix下的COM实现起来非常困难。JSP则不同,几乎所有平台都支持Java,JSP+JavaBean可以在所有平台下通行无阻。NT下IIS通过一个插件,例如JRUN(/products/jrun/)或者ServletExec(/),就能支持JSP。著名的Web服务器Apache已经能够支持JSP。由于Apache广泛应用在NT、Unix和Linux上,因此JSP有更广泛的运行平台。虽然现在NT操作系统占了很大的市场份额,但是在服务器方面Unix的优势仍然很大,而新崛起的Linux更是来势不小。从一个平台移植到另外一个平台,JSP和JavaBean甚至不用重新编译,因为Java字节码都是标准的与平台无关的。笔者将在NT下实验的JSP网页原封不动地拿到Linux下就运行起来了,感觉非常满意。.7.1绝大多数JSP页面依赖于可重用的、跨平台的组件(JavaBeans或者EnterpriseJavabeans组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行操作的组件,或者使得这些组件为更多的使用者客户团体所使用。与Servlets相比,JSP能提供所有的Servlets功能,它比用println书写和修改HTML更方便。作为Java平台的一部分,JSP拥有Java编程语言“一次编写,随处运行”的特点。随着越来越多的供应商JSP支持添加到他们的产品中,您可以使用组件所选择的服务器和工具,但并不影响当前的应用。很多数据库系统带有JDBC驱动程序,java程序通过JDBC驱动程序与数据库相连,执行查询、提取数据等操作。1.3Tomcat简介1.3.1现在我们来建构一个包含有一个servlet,一个bean和几个JSP页面的Web应用软件样本。这个Web应用软件名为myapp,且文件将存在于TOMCAT_HOME\webapps\myapp目录之中。.\目录包含所有的JSP文件,如表A所示。index.jsp页面使用<jsp:forward>标签来有效地将form.jsp设置为myapp的主页。form.jsp页面使用<jsp:include>标签来加入导航和两个分开的窗体来窗体页面得到完善。注意第三个<jsp:include>标签如何使用<jsp:param>标签来将一个参数传递给jsp_form.jsp页面的。servlet_form.jsp页面是一个在jsp_form.jsp页面提交给另一个JSP页面时使用servlet做窗体处理的例子。company_name.jsp页面使用从jsp_form.jsp页面提交的参数来建构公司的彩色标识。bean_values.jsp页面使用<jsp:useBean>标签在应用软件的范围内来存储/恢复/修改bean的属性。variables.jsp页面显示了使用JSP之中一些可用的隐含变量的例子。.\WEB-INF\classes\myapp目录之中包含了应用软件所使用的Servlet和bean的类文件,如表B所示。MyBean类具有一个属性名为stringValue。bean_values.jsp页面被用于在应用软件的范围内储存这个bean的一个实例。CompanyNameServlet被作为servlet_form.jsp页面上提交窗体的目的地。这个servlet根据所请求的参数来产生HTML输出。注意我们忽略了init方式来设置web.xml文件中给出的companyName属性。让在一个方式中的doGet()或是doPost()执行调用其它的执行则是一个普遍的惯例。.\WEB-INF目录包含有web.xml文件,如表C所示,它定义了servlet和一个内容参数。注意init-param指定了公司的名称。这个参数从CompanyNameServlet的init方式中的ServletConfig解压而来。内容参数可以在variables.jsp页面之中被访问。要运行myapp应用软件,将文件放置在TOMCAT_HOME\webapps\myapp目录之中并启动Tomcat。Tomcat一旦被启动,在浏览器中键入URLhttp://localhost:8080/myapp。这样将会调出带有form.jsp内容的index.jsp页面。1.3.2这个关于Tomcat的简要介绍可以帮助工作的开展,但是对于JSP和Tomcat的配置来说远远不止是这篇文章里我们谈到的这些内容而已。Tomcat具有一个位于TOMCAT_HOME\conf目录之中的server.xml文件,它允许了更进一步客制化,提供了一个管理者应用软件和名为Valves的请求—预处理程序,他还可以实现过滤器。Tomcat整合了log4j和ApacheWeb服务器,为你的Web应用软件提供了更加健全的解决方案。总的来说,Tomcat是一个十分出色的选择,特别是它又是免费的

第二章投票系统投票系统是利用JSP和SQLServer2000共同完成的一个小型系统,利用JDK和tomcat运行环境调试出的一个简单Web应用程序。2.1主页面主页面P252.Myindex.jsp是利用JSP编成的一个简单页面,有三个标签分别代表登陆、注册、投票。在你登陆之前先进行注册,不然会因为没有注册而不能进入下一个页面,注册的作用是将登陆本人用户添加到数据库中,系统好进行管理,非注册人员不能进行投票。(程序见附录)在你登陆页面的同时你会看见你是第几个登陆页面的用户,在登陆页面下有一排标实说明。它给你有了详细的简介,能让你很快的上手,易懂易学。2.2安装和配置本程序遵循JSP2.0和Servlet2.4规范,它们需要和JDK1.4.1结合使用。JDK中包括了Java开发中必需的工具和Java程序运行环境(JRE)。可以从下载JDK1.4.1。2.2.1安装JDK的安装特别简单,和安装其他的软件没有什么区别,安装的过程介绍如下。1.单击下载后的J2sdk-1_4_1-win.exe.2.首先出现自动解压的界面,解压后出现确认安装的界面,在此界面中单击next按扭。3.出现版权协议说明界面,单击Yes按钮,接受版权协议后,选择要安装的路径,如c:\jdk1.4,然后单击Ok按钮。4.出现选择安装组件的界面,直接单击Next按钮继续安装。5.选择一种浏览器,能够在此浏览中运行Applet,选择后单击Next按钮。6.对JDK进行安装,安装完毕后,单击Finish按钮结束安装。2.2.2配置安装好JDK后,还需要在环境变量中进行对应的配置。下面以Windows操作系统为例来进行配置。主页进行以下的配置:●设置JAVA_HOME环境变量:●设置CLASSPATH环境变量:●更新PATH环境变量的值。JAVA_HOME表示Java安装的目录,其他的应用程序如果需要使用Java运行环境,首先获得JAVA_HOME变量的信息,然后确定执行的路径。首先来看JAVA_HOME环境变量的设置。1.在桌面上用鼠标右健单击“我的电脑”,依次选择属性-高级-环境变量。2.新建一个系统变量,名称为JAVA_HOME,值为C:\jdk1.4,它是JDK安装的目录。3.单击确定按钮。2.3安装和配置TomcatTomcat服务器是当今使用广泛的Servlet/JSP服务器,它运行稳定,性能可靠,是学习和中小企业的最佳选择。在本节将介绍Tomcat的安装、配置和使用,并且开发一个最简单的JSP,然后把它部署到Tomcat,并且做对应的测试。可以从/tomcat下载Tomcat5.0Servlet服务器,下载后是一个可执行文件。2.3.1安装安装Tomcat的步骤如下所示。1.单击下载后的可执行文件。2.在弹出的窗口中单击Next按钮。3.出现授权界面,单击IAgree按钮。4.在弹出界面中选择要安装的组件,可以选择“full”,然后单击Next按钮。5.选择安装的目录,然后单击Next按钮。6.配置Tomcat,输入一个管理密码。注意:必须记得这个密码,因为在以后的管理中使用这个密码。单击Next按钮。7.选择JDK安装的位置,如C:\jdk1.4,然后单击Next按钮。8.单击Install按钮。9.安装完成后单击Finish按钮。2.3.2测试安装下面测试Tomcat是否安装成功。执行%TOMCAT_HOME%\bin\startup.bat批处理文件,然后打开浏览器,在地址栏输入:8080,如果出现Tomcat5.0.9的界面,表示Tomcat的安装和配置是正确的。如果不能启动Tomcat服务器或者在浏览器不能获得相应的结果,请检查JDK的设置是否正确。

第三章系统简介本系统是我们小组共同完成的一个微型系统,本章将介绍网上投票系统在JSP中用到的语法,在JSP中使用JavaBean,Servlet技术的应用,动态页面和用户会话等技术。本系统是利用了JSP+Servelt+Javabean的技术开发的一个微型系统。3.1总图网上投票系统主页面包括内容:设计了三个连接jsp网页,进行登陆、注册、投票。在注册之后才能登陆,登陆网上投票系统后进行投票。对你的偶像、崇拜者进行投票、如果你有意见,可以在投票的同时进行留言。主页面主页面登陆注册投票(资料页面)登陆成功1登陆:在登陆页面中登陆网上投票系统。需要先注册才能登陆,未注册不能进入网上投票系统。登陆成功后进入P261.passthrough.jsp页面。页面中有四个连接,包括(P270.userchange.jsp更改信息资料,P274.guestbook.jsp在此投票,P286.manage_list.jsp用户管理,P251.Myindex.jsp返回主页。在更改信息资料页面中可以修改你的资料。在投票页面中可以进行投票和留言。注册成功注册成功更改信息资料在此投票用户管理返回主页2投票:在未登陆网上投票系统进行投票,会进入P283.Refuse.jsp页面,本网页提示你拒绝你的访问,会叫你先登陆网上投票系统,如果还未注册,就会登陆失败。这时需要你进行注册,然后才能登陆网上投票系统,登陆成功后进行投票。投票投票登陆注册返回主页面3.2主页面功能3.2.1配置按钮<center><tablewidth="30%"align="center"><tr><tdalign="center"width="30%"><ahref="P265.Login.jsp">登录</a></td><tdalign="center"width="30%"><ahref="P254.Register.jsp">注册</a></td><tdalign="center"width="30%"><divalign="center"><ahref="shade.jsp">投票</a></div></td></tr></table></center>在这段程序中设置了三个按钮,包括(登陆、注册、投票)。<center>功能:将三个按钮设置为居中<tablewidth="30%"align="center">是对宽度的设置。下面是对三个按钮显示在屏幕上进行设置。3.2.2保存系统资料<%StringcurrentRecord=null;//保存文本的变量BufferedReaderfile;//BufferedReader对象,用于读取文件数据StringnameOfTextFile="../webapps/30/count.txt";//读取file=newBufferedReader(newFileReader(nameOfTextFile));StringreadStr=null;intwriteStr=0;//如果数据库为空则让它显示时变成1并写入try{readStr=file.readLine();}catch(IOExceptione){System.out.println("读取数据错误.");}if(readStr==null)readStr="没有任何记录";//加1else{writeStr=Integer.parseInt(readStr)+1;}//写入try{PrintWriterpw=newPrintWriter(newFileOutputStream(nameOfTextFile));pw.println(writeStr);pw.close();}catch(IOExceptione){out.println(e.getMessage());}%>本段代码是对系统统计人数的保存,通过写入文本文件保存用户登陆该系统的人数,方便系统对用户的管理,也方便以后的调用。3.2.3配置日期<palign="center"<b><fontcolor="000000">您是网上投票系统第</font></p><palign="center"<b><fontcolor="red"><%=writeStr%></font></b><fontcolor="000000">位客人</font></p>这段程序是对用户进入网站的统计。<fontcolor=’000000’<%=writeStr%>是调用系统保存的人数。3.2.4调用文本<%@includefile="P253.top.htm"%><%@includefile="P253.bottom.htm"%>这两条语句是对html文本的调用,通过调用可以使程序变得简单意懂。3.3注册页面本页面是对新用户的注册页面,在注册过程中需要注意的是有星号的项目都必须添上,如果你需要得到更多的注册者的信息你可以添加该页面,得到更多,更广泛的用户信息,这样你就对使用者的消息得到了全面的了解,我们这里只是简单的做了一个注册的框架,你可以尽情的发挥你的想像空间和需要。当你注册成功以后你就可以进行登陆等以后的工作了。3.3.1配置输入scriptlanguage="JavaScript">functionisValid(form){if(form.user_id.value==""){alert("登录名不能为空!"); returnfalse;}elseif((form.password.value.length<3)||(form.password.value.length>8)){alert("密码必须是3-8位字母或数字!"); returnfalse;}elseif(form.password.value!=form.re_password.value){alert("两次输入的密码不相同!"); returnfalse;}elseif((form.e_mail.value=="")||(form.e_mail.value.indexOf('@',0)==-1)||(form.e_mail.value.indexOf('.',0)==-1)||(form.e_mail.value.length<6)){alert("请您输入合法的E-mail地址!"); returnfalse;}else{returntrue;}}</script></HEAD>代码中定义了一个框架,如果用户没有按照这个方面的管理员要求进行设置你将不会得到正确的页面,有可能是这种页面。3.3.2框架<CENTER><br><p><fontcolor="000000">请输入您的个人信息(标注'*'的内容必须填写)</font></p><FORMMETHOD=POSTaction="P258.register_confirm.jsp"onSubmit="returnisValid(this);"><TABLEwidth='64%'border="0"align="center"><TR><TDalign='left'width="28%">登录名:</TD><TDalign='left'width="72%"><INPUTTYPE="text"NAME="user_id"> *</TD></TR><TR><TDalign='left'height="19"width="28%">密码:  </TD><TDalign='left'height="19"width="72%"><INPUTTYPE="password"size='8'maxlength='8'NAME="password"> *</TD></TR><TR><TDalign='left'height="21"width="28%">密码确认:</TD><TDalign='left'height="21"width="72%"><inputtype="password"size='8'maxlength='8'name="re_password"> *</TD></TR><TR><TDalign='left'height="17"width="28%">Email:</TD><TDalign='left'width="72%"height="17"><inputtype="text"name="e_mail"size="30"maxlength="30"> *</TD></TR><TR><TDalign='left'width="28%">主页:</TD><TDalign='left'width="72%"><inputtype="text"name="www"size="30"maxlength="40"></TD></TR></TABLE>这段代码是填写数据库中用户注册的信息,如(用户名和密码等)。3.4修改系统资料当你觉得你的注册信息太简单或者不完整,不能代表你在网络上的名称等,你都可以利用上面的页面对你的注册信息进行修改,例如上图你现在没有主页,但是当你申请了个人主页以后你可以在这个地方进行填写,使网络上的更多的恩了解你的各种资料。3.5数据库的调用<%//修改数据库中用户信息Stringname1=(String)session.getValue("username");Stringsql="select*fromuserwherename='"+name1+"'";ResultSetrs=UserChangeBean1.executeQuery(sql);Stringpassword1="";Stringemail1="";Stringwww1="";if(rs.next()){password1=rs.getString("password");email1=rs.getString("email");www1=rs.getString("www");rs.close();}%>本段代码是对数据库的调用,调用用户注册后的资料,如(用户名,密码,emial地址,用户主页。)代码中引用了SQL数据库调用方法。3.6投票界面管理员可以在这个地方进行对数据的提供,修改让用户可以对该数据进行投票。数据情况如下所示sql="select*fromquestionswhereIsVisable=1";rs=smt.executeQuery(sql);Stringquestion,date;intisvisable;intquestionid;intid=0;intisopen=0;while(rs.next()){questionid=rs.getInt(1);question=rs.getString(2);isvisable=rs.getInt(3);date=rs.getString(4);isopen=rs.getInt(5);out.print("<tr>");out.print("<tdalign=center>"+date+"</td>");out.print("<td><ahref=result.jsp?questionid="+questionid+"target=_blank>"+question+"</a></td>");out.print("<tdalign=center><ahref=isvisable.jsp?questionid="+questionid+">撤消</a></td>");if(isopen==1) out.print("<tdalign=center><ahref=isopen.jsp?questionid="+questionid+">隐藏结果</a></td>");else out.print("<tdalign=center><ahref=isopen.jsp?questionid="+questionid+">公布结果</a></td>");out.print("</tr>");}%>

结论通过对这个的学习和创作我们把毕业设计的要求基本达到了,对这方面的用Tomcat做Web服务器能够游刃有余。网上投票系统的开发和设计是我们小组共同完成的一个微型系统,经过大家的共同努力,使我们学到了很多知识,也知道了一个项目是需要大家共同的努力才能完成的。网上投票系统是对用户在线投票设计的一个简单程序系统,主要利用了JSP+SQL两门语言共同完成的毕业设计,利用Tomcat,一个Web服务器,使这个小型投票系统能够在网上运行。网上投票系统的开发和设计是我们通过努力,终于在二个月的时间里完成了,虽然我们不能说精通JSP,sql语言,但是对这两门语言能够说能进行基本的写和创作代码,都能独自完成读程序和理解该类程序的工作,可以这样说我们都得到了很多的提高和进步。但是我觉得如果将来我们要进行这方面的工作还远远不够,都还需要不断的进行学习,我们对数据的链接方面还有一些不足,需要极大的改进,该系统基本上能够完善我们的基本要求,但是我觉得如果用于网上的一个页面还是有很多不足,美观和网页的可读程度还有很多不足,我觉得这与我们在这方面的修养有很大的关系,如果我们从事这方面的工作我自我觉得还要增加这方面的学习,使自己可以做到游刃有余。这是我们小组做的第一个小型系统,虽然说是完成了,但是,还有很多不足之处,还需要小组成员努力修改,争取把这个系统做得完善一点,

致谢

参考文献【1】飞思科技产品研发中心.JSP应用开发详解(第2版).北京:电子工业出版社,2004.1【2】孙璐、刘娟、张科英.软件工程.北京:清华出版社;北京交通大学出版社,2005.1

附录P251.Myindex.jsp(主页)<%@pagecontentType="text/html;charset=gb2312"%><html><head><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"><metahttp-equiv="KEYWORDS"content="这是网上投票系统"><title>网上投票系统</title><linkrel=stylesheethref="P253.style.css"type="text/css"></head><body><%@includefile="P253.top.htm"%><p> </p><%@pageimport="java.io.*"%><%StringcurrentRecord=null;//保存文本的变量BufferedReaderfile;//BufferedReader对象,用于读取文件数据StringnameOfTextFile="../webapps/20/count.txt";//读取file=newBufferedReader(newFileReader(nameOfTextFile));StringreadStr=null;intwriteStr=0;//如果数据库为空则让它显示时变成1并写入try{readStr=file.readLine();}catch(IOExceptione){System.out.println("读取数据错误.");}if(readStr==null)readStr="没有任何记录";//加1else{writeStr=Integer.parseInt(readStr)+1;}//写入try{PrintWriterpw=newPrintWriter(newFileOutputStream(nameOfTextFile));pw.println(writeStr);pw.close();}catch(IOExceptione){out.println(e.getMessage());}%><palign="center">您是<fontcolor="999999">网上</font><fontcolor="#33ff33">投票系统</font>第<b><fontcolor="red"><%=writeStr%></font></b>位客人</p><br><palign="center"><fontcolor="red">谢谢你对本网站的支持</font><br><br><center><tablewidth="39%"align="center"><tr><tdalign="center"width="30%"><ahref="P265.Login.jsp">登录</a></td><tdalign="center"width="30%"><ahref="P254.Register.jsp">注册</a></td><tdalign="center"width="30%"><divalign="center"><ahref="shade.jsp">留言</a></div></td><tdalign="center"width="3%"> </td><tdalign="center"width="19%"> </td></tr></table></center><p> </p><%@includefile="P253.bottom.htm"%></body></html>P265.Login.jsp(登陆)<%@pagecontentType="text/html;charset=gb2312"%><html><head><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"><title>登录</title><linkrel=stylesheethref="P253.style.css"type="text/css"></head><scriptlanguage="JavaScript">functionisValid(form){if(form.user_id.value==""){alert("登录名不能为空!"); returnfalse;}elseif((form.password.value.length<3)||(form.password.value.length>8)){alert("密码必须是3-8位字母或数字!");returnfalse;}else{returntrue;}}</script><body><%@includefile="P253.top.htm"%><center><%Stringgetmessage=(String)session.getValue("login_message");if(getmessage==null)getmessage="";%><FORMMETHOD=POSTaction="P267.login_confirm.jsp"onSubmit="returnisValid(this);"><%=getmessage%><TABLEwidth='60%'height="150"border='1'><TR><TDcolspan=2align='center'>请登录:</td></TR><TR><TDalign='left'>登录名:</td><td><INPUTTYPE="text"NAME="user_id"></TD></TR><TR><TDalign='left'>口令:</td><td><INPUTTYPE="password"NAME="password"></TD></TR><tr><tdcolspan=2align="center"><INPUTTYPE="submit"size="4"value="登录"></td></tr></table></form><br></center><%@includefile="P253.bottom.htm"%></body></html>P254.Register.jsp(注册)<%@pagecontentType="text/html;charset=gb2312"%><HTML><HEAD><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"><title>用户注册</title><linkrel=stylesheethref="P253.style.css"type="text/css"><scriptlanguage="JavaScript">functionisValid(form){if(form.user_id.value==""){alert("登录名不能为空!"); returnfalse;}elseif((form.password.value.length<3)||(form.password.value.length>8)){alert("密码必须是3-8位字母或数字!"); returnfalse;}elseif(form.password.value!=form.re_password.value){alert("两次输入的密码不相同!"); returnfalse;}elseif((form.e_mail.value=="")||(form.e_mail.value.indexOf('@',0)==-1)||(form.e_mail.value.indexOf('.',0)==-1)||(form.e_mail.value.length<6)){alert("请您输入合法的E-mail地址!"); returnfalse;}else{returntrue;}}</script></HEAD><body><%@includefile="P253.top.htm"%><CENTER><br><%Stringgetmessage=(String)session.getValue("register_message");if(getmessage==null)getmessage="";%><%=getmessage%><p>请输入您的个人信息(标注'*'的内容必须填写)</p><FORMMETHOD=POSTaction="P258.register_confirm.jsp"onSubmit="returnisValid(this);"><TABLEwidth='64%'border="0"align="center"><TR><TDalign='left'width="28%">登录名:</TD><TDalign='left'width="72%"><p><INPUTTYPE="text"NAME="user_id"> *</TD></TR><TR><TDalign='left'height="19"width="28%">密码:  </TD><TDalign='left'height="19"width="72%"><p><INPUTTYPE="password"size='8'maxlength='8'NAME="password"> *</TD></TR><TR><TDalign='left'height="21"width="28%">密码确认:</TD><TDalign='left'height="21"width="72%"><p><inputtype="password"size='8'maxlength='8'name="re_password"> *</TD></TR><TR><TDalign='left'height="17"width="28%">Email:</TD><TDalign='left'width="72%"height="17"><inputtype="text"name="e_mail"size="30"maxlength="30"> *</TD></TR><TR><TDalign='left'width="28%">主页:</TD><TDalign='left'width="72%"><inputtype="text"name="www"size="30"maxlength="40"></TD></TR></TABLE><br><INPUTTYPE="submit"size="4"value="立即注册!"></FORM></CENTER><%@includefile="P253.bottom.htm"%></BODY></HTML>Shade.jsp(投票)<%@pagecontentType="text/html;charset=gb2312"%><%StringgetLoginmessage=(String)session.getValue("loginSign");if(getLoginmessage!="OK"){%><scriptlanguage=javascript>window.location="P283.Refuse.jsp"</script><%}%><html><head><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"><title>留言</title><linkrel=stylesheethref="P253.style.css"type="text/css"></head><body><%@includefile="P253.top.htm"%><palign="center"><b><fontcolor="red">欢迎光临,请留言!</font></b></p><FORMMETHOD=POSTaction="do_shade.jsp">

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论