基于JAVA技术的网络论坛的实现(DOC毕业设计论文).doc_第1页
基于JAVA技术的网络论坛的实现(DOC毕业设计论文).doc_第2页
基于JAVA技术的网络论坛的实现(DOC毕业设计论文).doc_第3页
基于JAVA技术的网络论坛的实现(DOC毕业设计论文).doc_第4页
基于JAVA技术的网络论坛的实现(DOC毕业设计论文).doc_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

基于JSP技术的网络论坛摘 要随着Internet的飞速发展,机关、学校、公司、企业都已经或正在建立自己的网站和论坛,而一个真正的、完善的论坛离不开web数据库技术,web数据库技术可以实现浏览器与数据库的双向交互。web技术和数据库相互融合领域的研究已成为热点方向之一,web技术和数据库技术都发生了质的变化,web网页由静态网页发展成了动态网页,数据库实现了开发环境和应用环境的分离,用户端可以用相对统一的浏览器实现跨平台和多媒体服务。 本文主要完成了基于JSP技术的信息交流学习的设计和实现,主要实现了客户端和服务器端的动态交互。该系统包含用户系统功能模块和管理员管理功能模块.用户系统功能模块包含注册、登陆、个人贴子管理、搜索帖子、回复帖子,浏览帖子等功能,管理员功能模块包含用户信息管理,版面管理,公共信息管理,帖子管理等功能。系统采用了JSP技术以及JavaBeans组件技术和JDBC技术来连接MYSQL数据库实现的。关键词:论坛;网站设计;JSP;MYSQL;JavaBeansOnline BBS Based on JSP TechnologyAbstract With the rapid development of Internet, offices, schools, companies, enterprises have been or are being set up their own websites and forums, and a true and perfect forum for Web database technology can not be separated, Web database technology enables the browser and the database two-way interaction. Web technology and database integration between research in the field has become a hot one direction, Web database technology to make Web technology and database technology have undergone a qualitative change: Web pages from static pages into dynamic web page development, database and application development environment to achieve separation of the environment, clients can use the browser to achieve relatively uniform cross-platform and multimedia services. In this text, it based on JSP technology to complete the exchange of information on the design and implementation of the study, the main achievement of the client and server-side dynamic interaction. The system includes a users system administrators to manage modules and function modules. User system modules include registration, login, personal post management, and search messages, reply messages, browse the posts and other features, the administrator function module contains the user information management, layout management,public information management, message management and other functions. System uses the JSP technology, and JavaBeans technology components technology and JDBC to connect to the MYSQL database.Keywords: BBS;Website Design JSP; MYSQL; JavaBeans;目录1 绪论11.1 课题背景11.2 系统简介11.3 项目中涉及的技术1 1.3.1 JSP技术1 1.3.2 JavaBeans技术2 1.3.3 JDBC技术22 系统分析42.1系统需求分析42.2数据流图42.2.1系统顶层DFD图 42.2.2系统一层DFD图52.3系统功能描述62.3.1 主要功能62.4系统设计72.5开发环境的选择102.6 研究方法103总体设计123.1 B/S设计模式123.2 运行模式143.3 接口设计14 3.3.1 用户接口14 3.3.2 外部接口14 3.3.3 内部接口143.4数据结构设计143.4.1 系统详细信息介绍143.4.2 物理结构设计要点173.4.3 数据结构与程序的关系183.5功能模块设计20 3.5.1 总体设计20 3.5.2 功能模块设计203.6系统故障处理设计223.6.1 出错信息223.6.2 补救措施233.6.3 系统维护设计234 详细设计244.1 用户注册登陆界面设计与实现244.2 帖子列表板界面设计与实现274.3 发帖界面设计与实现284.4 显示帖子信息界面设计与实现324.5 用户管理模块设计与实现324.6 后台管理模块界面设与实现36 4.6.1 类别管理模块设计与实现36 4.6.2 版面管理模块设计与实现39 4.6.3用户管理模块设计与实现42结论45致谢46参考文献471绪论1.1课题背景网站论坛是一个以文化交流,学习知识,娱乐游戏为目的的,借助网络传输媒体和WEB共享实现的应用系统。所以定位要准确,什么样的目的就要体现什么样的特色!本网站是以娱乐为主要的目的,所以在服务和内容方面要从娱乐这个方面考虑,体现互联网的优势,消息的实效快,传播的速度广!为了能更好的服务于人,本论采用MVC设计模式即:Model+View+Controller的设计模式,以软件工程的思想从全局把握开发流程,增加了系统的可靠性和可维护性,从而降低了投入。 伴随着网络的出现,网页逐渐融入人们的生活。随着Internet的进一步发展,网站的技术日新月异。 就现在开发web技术来说,主要集中分为三大类:基于C/S结构的应用程序开发;结合C/S结构和Web技术的复合应用程序;基于B/S结构的动态网页技术。C/S结构系统:是传统开发模式,一般以数据库和客户端的两层结构实现,也有加入中间件的三层或多层结构,在web早期是标准的系统模式,但随着计算机技术的发展和网络的发展, C/S结构的不足越发明显,B/S结构系统逐渐成为了时尚,而该结构的实现技术中最流行的就是.NET和JSP,而从安全性的角度将JSP又更胜一筹,因此采用JSP技术开发该系统。1.2系统简介软件采用的是B/S的设计结构,主要分为前台显示和后台管理两部分。前台是用户注册、密码修改、密码取回、登录、浏览帖子、回复帖子、根据关键字搜索帖子等;后台主要实现对帖子的精华设置与取消、对帖子的查看、对非法的帖子进行删除,对回复的帖子进行查看、删除等管理操作以及公告的发布、添加、删除、修改等操作。本文通过对论坛网站系统设计到实现流程的描述,目的是让人们了解论坛网站的结构以及系统从设计到实现中各个部分的解决方案,让大家了解JAVA网络编程广泛采用的设计模式。1.3项目中涉及的技术1.3.1 JSP技术JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。 JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。 在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无Java Applet,甚至无Frame。 1.3.2 JavaBeans技术什么是JavaBeans?JavaBeans就是Java的可重用组件技术。最初,JavaBeans的目的是为了将可以重复使用的软件代码打包标准。特别是用与帮助厂家开发在综合开发环境(IDE)下使用的java软件部件。这些包括如Grid控件,用户可以将该部件拖放到开发环境中。从此,JavaBeans就可以扩展为一个java web 应用的标准部件,并且JavaBeans部件框架已经扩展为企业版的 Bean(EJB)。JavaBeans是描述JAVA的软件组件模型,有点类似于Microsoft的COM组件概念。在JAVA模型中,通过JavaBeans可以无限扩充JAVA程序的功能,通过JavaBeans的组合可以快速的生成新的应用程序。对于程序员来说,最好的一点就是JavaBeans可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。ASP通过COM来扩充复杂的功能,如文件上载、发送email以及将业务处理或复杂计算分离出来成为独立可重复利用的模块。JSP通过JavaBeans实现了同样的功能扩充。JSP对于在Web应用中集成JavaBeans组件提供了完善的支持。这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为JSP应用带来了更多的可伸缩性。JavaBeans组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等。在实际的JSP开发过程中,读者将会发现,和传统的ASP或PHP页面相比,JSP页面将会是非常简洁的,由于JavaBeans开发起来简单,又可以利用Java语言的强大功能,许多动态页面处理过程实际上被封装到了JavaBeans中。1.3.3 JDBC技术JDBC是一种可用于执行SQL语句的Java API(Application Programming Interface,应用程序设计接口)。它由一些Java语言写的类、界面组成。JDBC给数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。Java 具有坚固、安全、易于使用、易于理解和从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java 应用程序与各种不同数据库之间进行对话的方法。而 JDBC 正是作为此种用途的机制。通过使用JDBC,开发人员可以很方便地将SQL语句传送给几乎任何一种数据库。也就是说,开发人员可以不必写一个程序访问Sybase,写另一个程序访问Oracle,再写一个程序访问Microsoft的SQL Server。用JDBC写的程序能够自动地将SQL语句传送给相应的数据库管理系统(DBMS)。不但如此,使用Java编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上编写不同的应用。Java和JDBC的结合可以让开发人员在开发数据库应用时真正实现“Write Once,Run Everywhere!”JDBC 扩展了 Java 的功能。例如,用 Java 和 JDBC API 可以发布含有 applet的网页,而该 applet 使用的信息可能来自远程数据库。企业也可以用 JDBC 通过Intranet 将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有 Windows、 Macintosh 和 UNIX 等各种不同的操作系统)。随着越来越多的程序员开始使用 Java 编程语言,对从 Java中便捷地访问数据库的要求也在日益增加。2 系统分析2.1系统需求分析首先找出论坛针对的对象,得出一个简洁的例表: 1. 用户:论坛的使用人员,进行某些操作时需要注册。 2. 版面:表明发言内容的类型。 3. 公共信息:与论坛相关的信息。 4. 帖子:论坛中单个观点的讨论。 5. 管理员:论坛服务的人员。论坛的对象不是孤立的,它们是紧密联系的,下面是论坛各个对象之间的关联表,关联是单向的,是指左侧对象对上方对象的活动。无关联的用表示,如果两者只要单向关联,那么在另一个对象关联时用表示。表2.1 各对象之间的关系表用户版面公共信息帖子管理员用户注册 修改 浏览 联系浏览浏览 发布浏览 发布 修改 删除版面公共信息帖子管理员添加 删除 修改添加 删除 修改添加 删除 修改添加 删除 修改 至此,论坛的需要分析完成,接下来是论坛的功能设计。2.2数据流图2.2.1系统顶层DFD图超市进销存管理系统的DFD顶层图如图3.1所示。论坛 系统管 理 员用 户浏览管理浏览信息管理信息 图3.1系统顶层DFD图2.2.2系统一层DFD图根据自顶向下,逐层分解的原则,对系统顶层处理功能进行细化分成若干个处理功能,产生一层细化DFD图,如图3.2所示。基本信息系统浏览管理版面信息表管 理 员用 户帖子类型信息表 帖子信息表发帖系统提交注册 管理员登录 登录 登录 登录 信息管理员子系统用户子系统 信息 信息 发表帖子 帖子信息个人信息管理系统管理帖子回帖信息表用户信息表 图3.2 系统一层DFD图2.3系统功能描述2.3.1 主要功能 首先从用户开始,用户关联的对象是自身,版面,公共信息,帖子。分别根据用户与这些对象的联系给出一个明确的菜单表2.2 用户功能表序号功能名称说明1用户注册用户在论坛填写必要信息就可以成为注册用户,注册后,可修改自己的注册信息2用户登录用户注册后可使用用户名,密码登录,可选择用户名,密码保存期限3浏览用户信息注册用户可查看其它用户信息4与其它用户联系注册用户可发站内短信5浏览版面任何用户可浏览版面信息6浏览公共信息任何用户可浏览公共信息7浏览帖子任何用户可浏览帖子8发布修改删除帖子注册用户登录后可发布帖子,修改自己的帖子,删除自己的帖子9对帖子的特殊操作主要针对版主类型的用户,可对帖子置顶,设置精华,删除帖子,移动帖子等操作接下来的版面,公共信息,帖子都没有和其他对象的关联,它们在论坛中是被动对象,是被其它对象所操作。因此针对它们的主要功能是由其它对象产生,例如浏览版面就是用户的功能。管理员是论坛的一个特殊群体,它们的主要工作是保证论坛的正常运行,他们可以和论坛的所有对象产生联系,因此他们的功能也很丰富表2.3 管理员功能表序号功能名称说明1用户删除对于在论坛中造成很坏影响的用户,应该删除他们的身份2用户授权授予用户版主权限3版面管理版面是论坛的枝干,对版面进行添加,修改,删除等操作4公共信息管理公共信息展示论坛的状态,不能出现非法言论5帖子的管理帖子是论坛的枝叶,帖子的好坏关系到论坛的健康发展,对帖子进行删除,移动等现在分析各个对象的相关操作,设计为对象的功能实现接口,即为对象的操作方法。各个板块有浏览列表和管理两个方法,管理方法又可以分为添加,修改,删除3个子方法。帖子有浏览,发帖,回帖,搜索和管理5个方法,浏览方法又分为列表和查看两个子方法,管理方法分为编辑,删除,置顶,移动,指定精华5个子方法.用户有注册、登录2个方法,管理用户方法又分为删除和设置权限2个子方法.这样分析完后,前面列出的功能列表就有了各自的归属对象。论坛一般存在两种用户:注册用户和管理员。用户的权限是向下覆盖的,既上级权限包含下级权限,在论坛中,管理员是上级权限。论坛的3大基本功能的相互关系如下图所示。浏览帖子回帖帖子列表发帖 图2.1 论坛基本功能的关系本系统还有一些是论坛的内容更加丰富的扩展功能。2.4系统设计根据上一节给出论坛所必须的功能,划分模块。模块的划分主要是按照每一个对象的操作来归类。论坛操作的对象是上一节所归纳的5个。下面就针对这5个对象划分功能模块。用户:有两个模块,一个是用户注册,登录,修改信息等功能组合,是用户对用户自身的操作;另一个是管理员对用户进行删除,授权,是管理员对用户的操作,如表2.4。表2.4 用户功能模块表模块模块包含的功能用户模块用户注册用户登录浏览其它用户信息与其它用户联系用户控制自己的信息用户登录添加验证码用户等级版面:也有两个模块,一个是浏览模块,一个是管理模块。其功能模块列表如表2.5。表2.5 版面功能模块表模块模块包含的功能版面浏览模块浏览版面版面管理模块版面管理公共信息:用户浏览公共信息的功能划分一个模块,管理员对公共信息的操作划分为一个模块,其功能模块列表如表2.6表2.6 公共信息功能模块表模块模块包含的功能公共信息显示模块浏览发布的公共信息公共信息管理模块公共信息管理帖子:帖子包括用户对帖子的操作和管理员对帖子的操作,相应地分为帖子模块和帖子管理模块,如表2.7。表2.7 帖子功能模块表模块模块包含的功能帖子模块浏览帖子发布/修改/删除帖子对帖子的特殊操作帖子发布添加表情论坛收藏帖子搜索帖子管理模块删除帖子修改帖子管理员:管理员是对其他对象进行操作,如表2.8。表2.8管理员管理功能模块表模块模块包含的功能管理员管理模块用户管理版面管理帖子管理另外,对于用户使用的模块称为前台模块,管理员使用的模块称为后台模块。以下是该在线学习系统软件的功能模块图:网络论坛(bbs)用户系统功能管理员管理功能注册登陆浏览帖子个人帖子管理搜索帖子回复帖子编辑帖子删除帖子发布帖子修改帖子用户信息管理版面管理公共信息管理帖子管理删除授权添加修改删除删除移动编辑置顶指定精华 2.9 网上论坛的功能模块图2.5开发环境的选择系统需求分析阶段: Microsoft Windows XP系统代码开发阶段:Windows XP+ JDK1.5 + tomcat6.0 +MYSQL。系统GUI/LOGO辅助设计工具:Photoshop8.0,Dreamware8.0。2.6 研究方法本虚拟社区是采用JSP + JavaBeans + MYSQL开发的。运行平台:JDK 1.5 + Tomcat6.0 + MYSQL + Windows XP。采用模块化思想,分为3层:1数据存储层:使用MYSQL来存放的所有数据,包括用户信息,文章数据用户消息,系统数据,关键问题,数据库的规划。2. 系统功能层:完成的基本功能,由多个并列模块组成,向下调用MYSQL的数访问数据库,向上接受处理请求,将处理的结果返回上层,根据请求类型,返回成败结果和其他数据。而且模块高度灵活,可以方便的修改增加。3. 服务层:直接和客户机对话,根据客户机的请求,调用功能模块取得数据,然后将数据发送回客户端,根据客户端的类型,分别开发不同的服务模块,并且尽可能合理进行抽象,使对不同的服务层,能共用系统功能层的模块。3 总体设计3.1 B/S设计模式我们采用基于B/S结构的三层应用模型来实现Java在线学习网站系统。Browser/Server计算方式是一种两层结构的体系。随着技术的进步以及需求的改变,更多的层次划分出来。目前,在Internet应用体系结构中,事物处理被划分为3层,即:Web BrowserInternet ServerDatabase Server。在这种体系结构中,业务的表达通过简单的Web Browser来实现,用户通过Web Browser提交表单,把信息传递给Internet Server,Internet Server根据用户的请求,分析出要求数据库服务器进行的查询,交给数据库服务器去执行,Database Server把查询的结果反馈给Internet Server,在由Internet Server用标准的HTML语言反馈给Web Browser。三层应用模型同传统的C/S(Client/Server)模型相比,提高了系统的可扩展性、安全性和可重用性。它将应用逻辑与用户界面和数据访问相剥离,这样便使系统的维护变得简单,同时可以通过采用组件技术,降低数据库服务器的负担,从而提高性能。典型C/S计算的特点:服务器负责数据管理及程序处理;客户机负责界面描述和截面显示;客户机向服务器提出处理要求;服务器响应后将处理结果返回客户机;网络数据传输小。经过分析,B/S结构适合本系统,它具有以下优点:1. B/S技术所基于的标准是开放、非专有的,是经标准化组织指定而非单一厂商制定的。2. B/S技术成本较低,一般只需安装、配备还在服务器上。在客户机上的工作较少,故降低了开发及管理成本。而C/S的应用不论是安装、配备还是升级,都需要在所有的客户机上实施。B/S技术维护工作主要集中在服务器端,客户端的维护工作量十分少。而C/S结构中客户机和服务器的维护工作量都较大。Web Browser技术简明易用,一旦用户掌握了Web Browser的用法,也就掌握了使用系统上各种信息资源的钥匙。本虚拟社区是采用JSP + Java Bean + MYSQL开发的一套网络虚拟社区系统。通过系统和别人讨论计算机软件、硬件、Internet、多媒体、以及程序设计等等各种有趣的话题。图3.1 网络结构图 图3.2 系统结构图3.2运行模式图3.3 本系统的各个模块的运行顺序3.3接口设计3.3.1用户接口本系统采用的标准的HTML编写,内部套用JavaScript、CSS,风格统一,用户可通过一个窗体即可完成所有的输入工作,本模块不涉及大图片、音频和视频等,这样能保证输出时的快速性。用户可以直观的查看数据和填写数据,尽可能的简化操作,其主界面简便易于使用。3.3.2外部接口系统的数据库连接主要采用JDBC的方式,这样的连接方法简单,避免了过多的配置,数据库的访问全部由操作系统内部来完成。数据库的接口采用JavaBean连接实现。使用MYSQL来存放的所有数据,包括用户信息,文章数据,用户消息,系统数据等。3.3.3内部接口JavaBean完成Jsp程序和数据库的连接;方便对数据库的读写,提高重用度,减少代码量。3.4数据结构设计3.4.1系统详细信息介绍根据UML系统模型,可以确定系统中的各种实体以及它们之间的关系。本系统的实体包括管理员数据实体(Numb1)、用户数据实体(User)、帖子数据实体(btable)等。tb_bbs(帖子详细信息表)帖子详细信息表主要用来保存帖子详细信息。表tb_bbs的结构如表3.1所示:表3.1 tb_bbs的结构字段名数据类型是否为空是否为主键默认值描述bbs_idInt(10)unsigncdNoYesID(自动编号)bbs_boardIDintYesNULL版面IDbbs_titleVarchar(30)YesNULL论坛题目bbs_contentvarchar(10)Yes发表内容bbs_sendervarchar(10)Yes发表人员bbs_sendTimedatetimeYes发表时间bbs_facevarchar(10)Yes用户头像bbs_opTimedatetimeYes操作时间bbs_isTopvarchar (1)Yes置顶帖标志位bbs_toTopTimedatetimeYes设置时间bbs_isGoodvarchar (1)Yes精华帖标志位bbs_toGoodTimedatetimeYes设置精时间t b_bbsAnswer(回复帖子的详细信息表)回复帖子的详细信息表主要用来保存回复帖子的详细信息。表tb_bbsAnswer的结构如表3.2所示:表3.2 tb_bbsAnswer的结构字段名数据类型是否为空是否为主键默认值描述bbsAnswer_idInt(10)unsigncdNoYes0IDbbsAnswer_rootIDintYes0帖子根IDbbsAnswer_titlevarchar(20)Yes0回复题目bbsAnswer_contentvarchar(20)Yes0回复内容bbsAnswer_sendervarchar(20)Yes0回复人员bbsAnswer_sendTimedatetimeYes0回复时间bbsAnswer_faceYes回复表情tb_board(版面信息表)版面信息表主要用来保存版面信息。表tb_ board的结构如表3.3所示:表3.3 客tb_board的结构字段名数据类型是否为空是否为主键默认值描述board_idInt(10)unsigncdNoYesID(自动编号)board_classIDsmallintYesNULL版面类型IDboard_namevarchar(40)YesNULL版面名称board_mastervarchar(40)Yes版主姓名board_pcardvarchar(40)Yes版主编号tb_class(帖子类型信息表)帖子类型信息表主要用来保存帖子类型信息。表tb. class的结构如表3.4所示:表3.4 客tb_class的结构字段名数据类型是否为空是否为主键默认值描述class_idInt(10)unsigncdNoYesID(自动编号)class_namevarchar(40)YesNULL论坛类别名称class_introvarchar(200)YesNULL论坛介绍tb_user(用户信息表)用户信息表主要用来保存用户信息。表tb_user的结构如表3.5所示:表3.5 客tb_user的结构字段名数据类型是否为空是否为主键默认值描述IdInt(10)unsigncdNoYesID(自动编号)user_namevarchar(20)YesNull用户姓名user_passwordvarchar(20)Yes用户密码user_facevarchar(11)Yes用户头像user_sexvarchar(2)Yes用户性别user_phonevarchar(14)Yes电话user_OICQvarchar(14)YesQQuser_emailvarchar(100)YesEmailuser_fromvarchar(200)Yes住址user_ablevarchar(1)Yes权限3.4.2物理结构设计要点系统数据库采用MYSQL。今天的商业环境要求不同类型的数据库解决方案。性能、可伸缩性及可靠性是基本要求,MYSQL 给数据管理与分析带来了灵活性。从数据管理和分析角度看,MYSQL可以作为一个完备的数据库和数据分析包。作为重要的基准测试可伸缩性和速度奖的记录保持者,MYSQL 是一个具备完全功能支持的数据库产品,提供了对可扩展标记语言 (XML) 的核心支持以及在 Internet 上和防火墙外进行查询的能力。 3.4.3数据结构与程序的关系 服务器端程序采用JDBC来访问数据库:-package com.yxq.dao;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;public class DB private String className;private String url;private String username;private String password;private Connection con;private PreparedStatement pstm;public DB()className=com.mysql.jdbc.Driver;url=jdbc:mysql:/:3306/db_luntan;username=root;password=root;tryClass.forName(className);catch(ClassNotFoundException e)System.out.println(加载数据库驱动程序失败!);e.printStackTrace();public void getCon()try con=DriverManager.getConnection(url,username,password); catch (SQLException e) System.out.println(获取数据库连接失败!);e.printStackTrace();public void doPstm(String sql,Object params)if(sql!=null&!sql.equals()System.out.println(sql);getCon();try pstm=con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR _READ_ONLY);if(params=null)params=new Object0;for(int i=0;iparams.length;i+)pstm.setObject(i+1,paramsi);pstm.execute(); catch (SQLException e) System.out.println(调用DB类中doPstm方法时出错!);e.printStackTrace();public ResultSet getRs()try return pstm.getResultSet(); catch (SQLException e) System.out.println(DB类中的getRs()方法出错!);e.printStackTrace();return null;public int getUpdate()try return pstm.getUpdateCount(); catch (SQLException e) e.printStackTrace();return -1;public void closed()tryif(pstm!=null)pstm.close();catch(Exception e)System.out.println(关闭pstm对象失败!);tryif(con!=null)con.close();catch(Exception e)System.out.println(关闭con对象失败!);-上面Java语句完成数据库的连接。3.5功能模块设计3.5.1总体设计系统总体上分以下几个模块,模块之间相互连接,互相作用,从用户的注册,登陆退出到发表文章,回复文章,对在线学习系统的管理都可以通过简单的操作来完成。该系统设计简洁明了,没有过多的附属功能。3.5.2功能模块设计(1) 用户注册登陆模块要完成的各项操作,用户必须登陆系统,如果没有用户,用户注册是必须的。用户命令如果是退出,则清除用户的状态信息,并返回首页,如果是登录则使用JDBC连接数据库,取得用户输入的用户名和密码并查询数据库,将得出的结果和用户输入的信息做比较,验证正确,显示用户已经登陆到系统,错误将返回消息让用户从新输入。如果用户想注册用户,则返回注册页面,用户填写信息后,将检测信息的正确性,如果用户名允许注册,则完成用户名的注册,将信息写入到数据库中,如果用户已经存在,则返回错误信息,告诉用户用户名存在,请用户从新输入,并完成注册,进程结束。图3. 4用户注册登陆模块(2)用户信息模块当用户登陆系统后,在控制面板中,可以通过修改资料的链接来修改个人资料(其中用户名是不允许修改的),通过我的话题来查看和修改自己发布的文章。图3.5 用户信息模块(3) 发布帖子模块用户登陆系统后可以查看其他所有用户发的帖子,并可以发布自己的话题,也可响应回复其他用户和自己发表的话题。发表帖子回复帖子查看帖子图3.6 文章发布模块(4) 板块管理模块系统管理员可以通过后台管理系统控制的板块,管理员可以完成下列功能:添加分类或版面,版面配置或删除;并可以对已存在的板块设置属性。 以上的功能完成了整个的配置,用户的管理,管理员的管理都可以通过对应的链接来完成。3.6系统故障处理设计3.6.1出错信息表3.6 出错或故障情况一览表错误类型错误代号异常类型输出信息处理方法1用户用户名不存在ERR_01NULL无此用户名请用户注册2用户密码错误ERR_02Check Error密码错误重新输入3数据库连接错误ERR_03Connect无法连接数据库告诉用户错误。4数据库查询错误ERR_04Select查询数据库出错请客户稍后重试5数据库查询错误ERR_04Insert(创建用户名)无法创建用户请客户稍后重试3.6.2补救措施当出现用户名,密码等通常的错误时,用户可以重新输入信息,即可解决,或是重新启动客户端,当出现无法连接数据库或者是查询中的错误,通常系统管理员重新启动服务即可解决,由于数据库的连接错误是全局的,所以重新启动服务是最佳的操作。3.6.3系统维护设计用于系统的检查与维护的检测点和专用模块,在这个版本中没有出,将会在后续开发中增加,例如自动重新启动服务,自动纠正数据的错误。以及用户数据的安装4 详细设计4.1用户注册登陆界面设计与实现1. 基本功能:要完成论坛的各项操作,用户必须登陆论坛系统,如果没有论坛账号,用户注册是必须的。用户命令如果是退出,则清除用户的状态信息,并返回首页,如果是登录则使用JDBC连接数据库,取得用户输入的账号和密码并查询数据库,将得出的结果和用户输入的信息做比较,验证正确,显示用户已经登陆到系统,错误将返回消息让用户从新输入。如果用户想注册账号,则返回注册页面。新用户注册如图4.1,4.2所示.2. 实现方法:首先进入首页,点击“登陆”,经过配置文件struts-config.xml中的路径,跳转到LoginXAction类中的isUserLogin方法,如果没有登陆,则跳转到login.jsp页面中;如果已登陆,则跳转到message.jsp页面中。3. 部分主要代码: 图4.1 用户登录界面用户登录代码如下:ResultSetrs=db.selectQuery(SELECT*+FROMforum_users+WHERE user_name = + loginUser + );while (rs.next() password = rs.getString(password);type = rs.getString(type);ResultSet rs2 = db.selectQuery(SELECT + password(+ loginPass + ) password);while (rs2.next() password2 = rs2.getString(password);if (password2.equals(password) HttpSession session = request.getSession(true);/ Cookie cookie = new Cookie(username,loginUser);session.setAttribute(username, loginUser);/ cookie.setMaxAge(60*60*24*365);/ cookie.setPath(/);/ response.addCookie(cookie);/ cookie = new Cookie(password,password);session.setAttribute(password, password);/ cookie.setMaxAge(60*60*24*365);/ cookie.setPath(/);/ response.addCookie(cookie);/ cookie = new Cooki

温馨提示

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

评论

0/150

提交评论