• 855.73 KB
  • 2022-04-22 13:40:24 发布

网络论坛BBS专题论坛系统开发毕业论文.doc

  • 0页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'网络论坛BBS专题论坛系统开发毕业论文目录绪论1第1章专题论坛系统开发背景及意义21.1系统开发背景21.2系统开发意义3第2章专题论坛系统需求分析42.1现状分析42.2可行性分析42.2.1经济可行性42.2.2技术可行性42.3设计目标52.4功能要求52.5平台选择52.6系统开发工具62.6.1开发语言—JSP(JavaServerPage)62.6.2数据库—MySQL5.07第3章专题论坛系统设计83.1数据库设计83.1.1数据库需求分析83.1.2数据库概念结构设计103.1.3数据库逻辑结构设计113.2系统结构设计153.2.1页面模块化设计15 3.2.2MVC模式设计(Jsp+Servlet+JavaBean)17第4章专题论坛系统实现184.1系统各部分的实现方法184.1.1创建与数据库的连接184.1.2访问数据库的JavaBean194.1.3用户及管理员登录模块页面204.1.4系统首页模块页面224.1.5会员注册模块的实现页面24第5章系统测试与评价分析265.1测试环境简介265.2系统各模块的测试265.2.1管理界面测试265.2.2其它管理模块测试265.3系统的评价分析275.4系统的不足与展望27结束语28致谢29参考文献30 1章专题论坛系统开发背景及意义1.1系统开发背景论坛又名网络论坛BBS,全称为BulletinBoardSystem(电子公告板)或者BulletinBoardService(公告板服务)。是Internet上的一种电子信息服务系统。它提供一块公共电子白板,每个用户都可以在上面书写,可发布信息或提出看法。它是一种交互性强,内容丰富而即使的Internet电子信息服务系统。用户在专题论坛上可以获得各种信息服务,发布信息,进行讨论,聊天等等。论坛的发展也如同网络,雨后春笋般的出现,并迅速的发展壮大。现在的论坛几乎涵盖了我们生活的各个方面,几乎每一个人都可以找到自己感兴趣或者需要了解的专题性论坛,而各类网站,综合性门户网站或者功能性专题网站也都青睐于开设自己的论坛,以促进网友之间的交流,增加互动性和丰富网站的内容。 而专题论坛只是其中的一类。此类论坛是相对于综合类论坛而言,专题类的论坛,能够吸引真正志同道合的人一起来交流探讨,有利于信息的分类整合和搜集,专题性论坛对学术科研教学都起到重要的作用,例如军事类论坛,情感倾诉类论坛,电脑爱好者论坛,动漫论坛,这样的专题性论坛能够在单独的一个领域里进行版块的划分设置。在本文中,主要介绍使用JSP和Servlet技术来实现论坛建设。通过基于Internet互联网的动态WEB数据库技术,可以解决远程的数据传输与读取,远程的客户终端(Client)可以通过WEB页面提交请求,查询远端的数据服务器上的信息,同时还可以向远端数据服务器的数据库中存储信息,以实现信息的共享,同时利用Internet技术可以降低软件的开发和部署成本,只要在服务器端安装WEB应用就可以使每个客户端都能浏览使用。目前,通过专题论坛系统可随时取得各种自己需要最新的信息;也可以通过专题论坛系统来和别人讨论计算机软件、硬件、Internet、多媒体、程序设计以及人文、地理等等各种有趣的话题;还可以利用本系统来发布一些“问题”、“廉价转让”、“招聘人才”及“求职应聘”等启事;更可以召集亲朋好友到聊天室内高谈阔论……这个精彩的天地就在你我的身旁,只要您拥有一台可以访问互联网的计算机,就可以通过这个交流平台,来享用它的种种服务。 1.2系统开发意义当今网络技术逐渐渗入社会生活各个层面,以前网站上的专题论坛管理系统要用户登陆以后才能进行相关访问及互动。而随着网络互联技术的进步,现在网站投票只需打开网页就可进行论坛留言。专题论坛对象是很多的,各个层次都可进行论坛访问,大至国家领导,小至一个普通干部,访问和留言从到指定用户进行表格到现在通过网络直接点击相应就可进行。专题论坛管理系统可解决游客访问及留言,致使现在几乎各个网站都有各种类型的专题论坛管理系统,用户可选择自己的看法。同时为分散于五湖四海的人们提供一个共同交流、学习、倾吐心声的平台,实现来自不同地方的用户极强的信息互动性,用户在获得自己所需要的信息的同时也可以广交朋友,拓宽自己的视野和社交面。通过网友的发帖中,能得到有益的教诲和启发。网友通过发出关于国家,社会的有益的观点,能被有关部门采纳,而不是网友空自评论,自艾自叹,自喜自悲。一些论点能做到各方观点正确公平的显示,具有参考价值。专题论坛应具有知识性,趣味性,公平性,和谐性等优点。专题论坛给天下的网民都提供了交流的平台,为网络的互动性作出了巨大的贡献,通过专题论坛,网民们得以更方便的交流,更便捷的发表自己的观点,而且发布信息都是通过有记录的文字来进行,所以这样也避免了精华内容的流失。通过专题论坛来征得自己想要的信息,有更高的效率和时效性。也最节约成本和资源,在专题论坛的交流过程中,无论喜怒哀乐都是在虚拟的环境中进行,也避免的正面的尴尬和冲突等,在专题论坛中,可以演变成任何角色,变换多种身份,因为网络的特征,使得人民更加依赖于论坛中的交流。 第2章专题论坛系统需求分析2.1现状分析随着全球英特网用户逐年增多,在中国,据中国互联网信息中心(CNNIC)最新的调查报告显示,截止2003年6月底,上网用户已达到6800万,比去年同期增长48.5%,而1997年10月首次调查结果只有62万,几年间增长了109.7倍。上面数据可以看出当今社会网络迅速普及,人们交流的方式也层出不穷,随着新时代的进入。人们对信息的需求也不断加大,对不同领域的讨论也越来越多了,因此开发一个专题论坛对人们的交流是非常有必要的。2.2可行性分析可行性分析也称为可行性研究,即是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、管理的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。2.2.1经济可行性主要是对项目的经济效益进行评价,利用计算机来实现网上交流信息。开发一套能满足网上信息交流的软件是十分必要的,实现用户发帖,回帖等功能,能发表自己的观点。本系统在经济上是完全可以接受的,只需要用户在本地安装Web浏览器,登录论坛就可以浏览帖子并发表自己的意见。所以本系统在经济上是可行的。2.2.2技术可行性技术上的可行性分析主要分析技术条件是否能顺利完成开发工作,硬、软件能否满足开发者的需要等。软件方面,系统开发需要的各种软件环境都已具备,数据库服务器方面则有MySQL,均能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。其灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。 硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。2.3设计目标专题论坛系统的总体目标:1.游客可以查看帖子,并可以留言,给本论坛提供一些建议。以便该论坛能做的更加的完美。2.注册会员可以发表自己的帖子、回复帖子、修改个人信息等。3.版主具有注册用户的所以功能,而且可以管理帖子。4.管理员具有最大权限,可以执行任何操作。比如增加、修改、删除板块;删除会员;管理版主等功能。2.4功能要求本系统根据论坛系统的需要,以实现交流信息的一个平台。本系统的功能要求主要包括:1.身份的安全验证。主要完成系统登录用户的验证,对于非法用户将禁止登录,不同身份的用户被赋予不同的权限。2.游客:浏览帖子,留言。3.注册会员:发表、修改帖子;回复帖子,删除回复;查看、修改个人信息,留言4.版主:发表、修改、删除帖子;回复帖子,删除回复;查看、修改个人信息,留言5.管理员:删除、修改用户信息、将会员设为版主或撤销版主;添加板块、修改板块、删除板块;发布公告、修改公告、删除公告;查看留言、删除留言。2.5平台选择选择微软平台作为主导,一方面考虑目前微软的飞速发展,越来越多的企业在规划内部网络时,将微软平台作为首选方案;另一方面从技术角度来讲,微软平台上的应用无论是在开发上,还是在软件的部署上都是非常容易,而且性能优越。具体如下:1.开发工具:MyEclipse8.5 1.辅助开发工具:Dreamweaver8,EditPlus3,AdobePhotoshopCS42.数据库:MySQL5.03.服务器:ApacheTomcat6.04.运行环境:安装JDK1.6支持Java运行。5.技术:前台网页的设计采用JSP技术制作。负责响应用户对业务逻辑的请求并根据用户的请求行为,决定将哪个JSP页面发送给客户由servlet处理,JavaBean则负责数据的处理。2.6系统开发工具本系统是基于JSP+MySQL5.0数据库技术实现的,现对JSP技术和MySQL5.0数据库作简要的介绍。2.6.1开发语言—JSP(JavaServerPage)JSP页面由HTML代码和嵌入其中的Java代码所组成。JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的等特点。JSP的技术的优势:1.一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不需要做任何更改。2.系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。3.JSP技术是用Java语言作为脚本语言的。Java语言是成熟的、强大的、易扩充的编程语言。4.高效性与安全性。JSP在执行前先被编译成字节码,字节码由Java虚拟机解释执行,比源码解释效率高。5.可维护性。由于JSP技术是一种开放的、跨平台的结构,因此Web服务器、平台及其他组件能很容易升级或切换,且不会影响JSP基本的应用程序。6.多样化和功能强大的开发工具支持。Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。 2.6.2数据库—MySQL5.0MySQL是一个精巧的SQL数据库管理系统,虽然它不是开放源代码的产品,但在某些情况下你可以自由使用。由于它的强大功能、灵活性、丰富的应用编程接口(API)以及精巧的系统结构,受到了广大自由软件爱好者甚至是商业软件用户的青睐,特别是与Apache和PHP/PERL结合,为建立基于数据库的动态网站提供了强大动力。SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。例如,你能用SQL语言为一个网站检索产品信息及存储顾客信息,同时MySQL也足够快和灵活以允许你存储记录文件和图像。 第3章专题论坛系统设计3.1数据库设计在对系统数据库进行设计的过程中,通过对系统功能进行需求分析得到系统的基本信息表,绘制系统业务流程图和系统数据流程图,分析得到数据字典;在概率结构设计阶段通过对需求阶段得到的用户需求抽象得到数据库关系模型的E-R图;在逻辑结构设计阶段得到数据库的关系模式并绘制信息表。3.1.1数据库需求分析需求分析是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。3.1.1.1系统基本信息综合以上分析,要实现上面的所有功能模块,数据库共要设计八个表,它们分别是:1.用户表(user):用户ID、用户名、密码、性别、Email、QQ、类型、发帖数、头像地址、注册日期、积分2.版主(master):版主ID、板块ID3.管理员表(admin):管理员ID、管理员姓名、管理员密码4.板块表(plate):板块ID、板块名称、帖子数、板块简介、创建日期5.帖子表(posts):帖子ID、帖子标题、帖子内容、发表日期、发表者、所在版块ID、回复数、点击数6.回复内容表(reply):回复ID、回复者、回复帖子ID、回复时间、回复内容7.公告表(notice):公告ID、公告标题、公告内容、发布时间8.留言信息表(message):留言ID、留言标题、留言内容、留言时间3.1.1.2系统层次图通过参考网上比较出名的论坛和查询相应的资料,大体了解了论坛系统的基本流程,因此设计了前台和后台两个模块的层次流程图。前台层次图如图3-1所示: 图3-1前台层次图 后台层次图如图3-2所示:图3-2后台层次图3.1.2数据库概念结构设计概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键,包括概念模型设计和新系统流程两个阶段。在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,才能更好地、更准确地用某一DBMS实现这些需求。概念数据模型独立于具体的数据处理的细节和数据库管理系统。这次设计仍采用传统的实体联系图作为概念设计的工具。再进行优化后,尽量满足结构清晰、关联简洁、实体个数适中、属性分配合理、没有低级冗余。系统E-R图如图3-3所示: 图3-3系统E-R图3.1.3数据库逻辑结构设计对于关系型数据库,数据库的概念结构设计完毕后,要把E-R图描述的概念数据模型转换为等价的关系模式极其约束。逻辑设计的基本工作主要包括如下的3个步骤。3.1.3.1专题论坛系统数据流设计模式该设计以概念结构设计中的E-R图为主要依据,这几出相关的整体逻辑结构。 系统数据流设计如图3-4所示:图3-4系统数据流设计图3.1.3.2完整性设计完整性要求用于描述各种信息之间的制约关系,以及关联关系,各个数据项的取值范围以及各个数据项是否可以取值。根据实际需要,采取一定的手段来满足用户的完整性需求。域完整性约束要求属性值必须在域中。实体完整性约束要求主键必须唯一且不能为空。如用户信息表中的用户名设置为主键,并且要求唯一且不能为空。3.1.3.3模式优化本次采用3NF为规范准则来分解关系。将一个关系分解为两个或者多个关系,以满足规范,从而避免产生插入异常、删除异常、更新异常。 3.1.4数据库表设计用户表如表3-1所示:表3-1用户信息表(user)字段名类型(值)说明UserID(主键)Int(10)用户IDUserNameVarchar(20)用户名UserPasswordVarchar(20)用户密码UserSexVarchar(4)用户性别EmailVarchar(50)用户EmailRegdatedate注册日期PrivilegeInt(10)用户类型0:普通用户;1:版主QQVarchar(10)QQImageAddrVarchar(20)头像地址UserPostsCountInt(255)用户发帖数IntegralInt(255)积分板块表如表3-2所示:表3-2板块信息表(plate)字段名类型(值)说明PlateID(主键)Int(10)板块IDPlateNameVarchar(20)板块名字PlateDescribeVarchar(128)板块简介PlateDatedate创建日期PostsCountInt(255)帖子条数 帖子信息表如表3-3所示:表3-3帖子信息表(posts)字段名类型(值)说明postsID(主键)Int(10)帖子IDTitleVarchar(128)帖子标题ContentVarchar(10000)帖子内容PostsDatedatetime发表日期UserNameVarchar(20)发表者PlateIDInt(10)所在板块IDClickInt(255)点击次数ReplyCountInt(255)回复次数回复信息表如表3-4所示:表3-4回复信息表(reply)字段名类型(值)说明ReplyID(主键)Int(10)IDReplyContentVarchar(5000)回复内容PostsIDInt(10)回复帖子IDUserNameVarchar(20)回复人ReplyTimeDatetime回复时间版主表如表3-5所示:表3-5版主表(master)字段名类型(值)说明userIDInt(10)版主ID(用户ID)PlateIDInt(10)板块ID公告信息表如表3-6所示: 表3-6公告信息表(notice)字段名类型(值)说明NoticeID(主键)Int(10)公告IDNoticeContentVarchar(5000)公告内容NoticeTimedatetime发表日期NoticeTitleVarchar(128)公告标题管理员信息表如表3-7所示:表3-7管理员信息表(admin)字段名类型(值)说明ID(主键)Int(10)管理员IDAdminNameVarchar(20)管理员名字AdminPasswordVarchar(20)管理员密码留言信息表如表3-8所示:表3-8留言信息表(message)字段名类型(值)说明MessageID(主键)Int(10)留言IDMessageTitleVarchar(128)留言标题MessageContentVarchar(5000)留言内容MessageTimeDatetime发布时间3.2系统结构设计3.2.1页面模块化设计模块化设计的要求不仅是为了提高代码的重用性,更重要的是为了提高代码的可维护性和稳定性。一个模块化程度高、结构清晰的应用程序,在程序维护时的便利性是可想而知的。最初设计方案时,就要规划好哪些模块是可以提出来多次使用,哪些模块虽只使用一次,但提出来之后能使代码更清晰等。 所以把页面中一些常用代码编写为独立的单元,例如页面的头部和尾部、首页各个显示区,这样设计新的页面时如果有重复出现的部分,只需要将编写好的模块用INCLUDE语句来组装就可以了。专题论坛系统功能模块有以下几部分组成:(一)用户注册新用户注册,填写用户信息,检验用户信息的有效性,并将用户信息持久化。(二)用户登陆提供用户凭证,验证用户信息是否合法,根据用户角色授权。(三)用户管理管理员由系统初始化分配一个,管理员可以对用户信息进行部分更改,主要包括用户角色调整,版主调整,删除用户等。(四)论坛版块管理管理员可以添加、删除、修改论坛版块。(五)帖子管理管理员可以对所有帖子进行修改、删除等操作,版主可以对本版块帖子进行修改、删除等操作。(六)帖子发表注册用户可以在感兴趣的版块中发表新帖。(七)帖子回复用户可以对自己感兴趣的主题发表回复。(八)帖子浏览用户可以浏览所有帖子。(九)意见建议用户可以与我们联系,并欢迎提出各种意见和建议3.2.2MVC模式设计(Jsp+Servlet+JavaBean)MVC(ModelViewController)是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。   视图是用户看到并与之交互的界面。如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。JSP页面处于表现层,也就是视力(View即V)的角色。模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。JavaBean则负责数据的处理,也就是模型(Model即M)的角色。控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。Servlet用来处理请求的事务,充当控制器(Controller即C)的角色,Servlet负责响应用户对业务逻辑的请求并根据用户的请求行为,决定将哪个JSP页面发送给客户。初始的请求由Servlet来处理,Servlet调用商业逻辑和数据处理代码,并创建Bean来表示相应的结果(模型)。然后Servlet确定哪个页面适合于表达这些特定的结果,并将请求转发到相应的页面(JSP页面即为视图),由Servlet确定哪个业务逻辑适用,应该用哪个JSP页面相应结果(Servlet就是控制器)。 第4章专题论坛系统实现4.1系统各部分的实现方法从系统功能模块划分中可以看出,系统总体上有九个功能模块组成。各模块虽然是独立的,但又统一于同一数据库中,便于管理员管理维护数据库,同时也便于管理员和用户的操作。在介绍系统各模块的实现方法之前,首先介绍系统与数据库的连接方式——使用JavaBean连接连接在服务器tomcat里配置的连接池。再介绍系统主要部分的实现方法。4.1.1创建与数据库的连接配置数据源创建连接池,再通过JavaBean连接到数据源再对数据库进行操作。连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程使用。连接池可以极大的改善用户的Java应用程序的性能,同时减少全部资源的使用。连接池主要的优点有:减少连接创建时间、简化的编程模式、受控的资源使用。连接池能够使性能最大化,同时还能将资源利用控制在一定的水平之下,不过如果超过该水平,应用程序将崩溃而不仅仅是变慢。配置连接池:1.首先要将mysql的驱动包放在tomcat/lib目录下2.在应用服务器Tomcat里的/conf下找到一个context.xml文件,在里面添加的内容如下:需要访问数据库就通过在JavaBean创建的一个叫QueryRunner()方法来访问。代码如下:publicclassDbHelper{publicstaticQueryRunnergetQueryRunner(){DataSourceds=null;try{//通过在context.xml文件,设定的数据源对象的名字,获取数据源对象Contextcontext=newInitialContext();ds=(DataSource)context.lookup("java:/comp/env/jdbc/mysqlds");}catch(Exceptione){System.out.println("获取数据源时出错");}QueryRunnerqr=newQueryRunner(ds);returnqr;}}4.1.2访问数据库的JavaBeanJavaBean是一种Java语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean通过提供符合一致性设计模式的公共方法将内部域暴露成为属性。众所周知,属性名称符合这种模式,其他Java类可以通过自省机制发现和操作这些JavaBean属性。用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用Java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、Applet程序或应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。JSP的一个重要特性就是可以用JavaBean实现功能的扩展。将大部分功能放在JavaBean中完成,以使JSP页面程序更干净简洁、利于维护。JavaBean可以很方便的用来捕获页面表单的输入并完成各种业务逻辑的处理。连接数据库的JavaBean——DbHelper。通过JSP页面调用此JavaBean,可以实现对数据库的连接,数据表的添加、删除、更新等操作。 4.1.3用户及管理员登录模块页面用户登录页面比较简单,因为用户不登录就可以浏览帖子,所以登录的功能就直接增加到了头文件里,用户没有登录时,此模块将一直显示。如果登录后则将不显示。用户登录如图4-1所示:图4-1用户登录用户登录后如图4-2所示:图4-2用户登录后 管理员登录界面如图4-3所示:图4-3管理员登录界面在登录页面时,当用户提交了登录资料后,就由“UsersServlet.java”这个servlet进行验证,它的工作主要是判断用户登录的帐号和密码是否一致。完成这些工作就必须连接存储用户数据库取出相关信息记录。如果用户输入了错误的用户名和密码,通过history.go(-1);返回到登录界面并提示出错,如图4-4所示:图4-4用户登录失败若用户提交正确的用户和密码后,如果记录验证无误,就通过JSP的request.getRequestDispatcher()方法跳转到相应的界面;然后再判断是否为版主,如果是版主则要求显示出版主相应的功能。Java程序片段如下所示: <%if(user==null||user.equals("")){%>
  • 欢迎您:游客
  • <%}else{if(user.getPrivilege()==0){%>
  • 欢迎您:<%out.print(user.getUserName());%>
  • <%}else{%>
  • 欢迎您版主:<%out.print(user.getUserName());%>
  • <%}}%>4.1.4系统首页模块页面论坛主界面如图4-5图所示:图4-5论坛主界面页面以下是论坛主界面的部分代码:<%ListnoticeList=(List)request.getAttribute("notice");for(inti=0;i"><%=notice.getNoticeTitle()%><%}%>后台管理界面如图4-6所示:图4-6后台管理界面 4.1.5会员注册模块的实现页面用户如果需要发帖,则需要注册。在注册时严格的规定了注册信息帖子,如果不按照提示所填写,那将不会注册成功。注册成功后用户可以登录论坛修改个人资料、发表帖子、回复帖子等功能。用户也可以修改自己的密码等功能。通过修改密码,下次用户登录系统时,将要用新修改的密码,不然系统检测到用户密码有误而提示登录失败。用户注册设计页面如图4-7所示:图4-7用户注册信息页面用户注册信息部分代码:functionckeck(){if(formReg.UserName.value==""){alert("用户名不能为空,请输入!");formReg.UserName.focus();returnfalse;}if(formReg.UserPassword.value.length<6){alert("密码不能为空或小于6位,请输入!");formReg.UserPassword.focus();returnfalse;}if(formReg.UserPassword2.value!=formReg.UserPassword.value){alert("密码必须和较验密码相同,请确认!");formReg.UserPassword2.focus(); 修改个人信息界面如图4-8所示:图4-8修改个人信息界面用户修改个人信息部分代码:publicvoidChangeUser(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{HttpSessionsession=request.getSession();Useruser=(User)session.getAttribute("user");StringuserName=user.getUserName();Stringqq=request.getParameter("QQ");Stringemail=request.getParameter("Email");StringoldUserPassowrd=request.getParameter("OldUserPassowrd");StringuserPassword=request.getParameter("UserPassword");QueryRunnerqr=DbHelper.getQueryRunner();if(oldUserPassowrd==null||oldUserPassowrd.equals("")){Stringsql="UPDATEuserSETEmail=?,QQ=?WHEREUserName="+userName;Stringparams[]={email,qq};try{qr.update(sql,params);}catch(SQLExceptione){e.printStackTrace();}response.setContentType("textml;charset=UTF-8");PrintWriterout=response.getWriter();out.println("");out.println("alert("修改个人信息成功!");"); 第5章系统测试与评价分析5.1测试环境简介硬件平台:Inter(R)Core(TM)2Duo,内存2GB,硬盘320GB软件平台:Windows7操作系统,MysqL5.0数据库,IE8.0浏览器,Tomcat6.0,JSP开发的专题论坛系统。运用Tomcat6.6来测试运行占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。5.2系统各模块的测试在该系统中,用户通过登录或者不登录,将进入用户相对应的功能。用户通过点击每个模块所对应的标签,便可以进行相应的操作。在系统实现的过程中,我对本系统进行了大量详细和缜密的测试,各项测试结果都基本符合系统要求,测试过程如下介绍。5.2.1管理界面测试管理界面中显示出了各模块的分部,并且点击任意一个模块,其中的所有功能信息会显示出来,每一功能信息都链接到相关的首页中各模块从各自的数据表中读取记录并将其某些字段显示出来。而且显示出来的字段是可以分布连接到一个可以完整显示该记录的内容字段的页面,这是最终的目的。系统管理首页如图4-6所示。5.2.2其它管理模块测试其他管理模块的操作基本相同,所以这里只展示了管理员模块的添加板块作。管理员通过登录系统,就可以在这里执行管理员的操作。5.3系统的评价分析1.实用性 本系统是典型的信息交流系统。当信息时代迫切需要快速传播信息,局部范围的信息交流只会减缓信息技术前进的步伐。本系统的意义在于为分散于五湖四海的人们提供一个共同交流、学习、倾吐心声的平台,实现来自不同地方的用户极强的信息互动性,用户在获得自己所需要的信息的同时也可以广交朋友,拓宽自己的视野和社交面。2.可维护性专题论坛系统的优越性体现在:首先,本系统基于B/S的开发模式,开发者只需对服务器上的处理程序进行修订,而客户端不用做任何改变,就可以照常使用系统;其次,由于JSP技术是一种开放的、跨平台的结构,因此Web服务器、平台及其他组件能很容易升级或切换,且不会影响JSP基本的应用程序。3.可扩展性专题论坛系统是一个不断扩展的系统,本系统采用B/S模式开发,可以不改变系统架构的基础上,直接添加模块,增加系统功能。如果用户想给本系统添加更多的模块可以将其他模块作为模板,只是稍微改一下数据库的参数和将新模块包含到所需的页面中,这样就可以在一定程度上扩展系统的功能。5.4系统的不足与展望对于本次做的专题论坛系统有很多不足。首先在于没有做好友善的界面,这样以来用户操作时间一长就会产生疲倦感,而且网页的整体美工也不是很好。它的功能上还有很多不足比如板块没有版主时则什么也不显示,当初预想应该显示版主空缺中,还有就是会员修改信息成功后,不能显示修改成功的信息。但是数据库却已经更新。对于本系统的发展是相当有前景的现在的网友与日俱增他们很大一部分都喜欢使用专题论坛,这就会促使专题论坛的发展。因此专题论坛系统在以后的发展是相当可观的。 结束语通过本次毕业设计,我从中学习到了很多的东西。对很多东西有了新的认识和见解,认识问题和思考问题以及解决问题有了本质上的进步。特别是对一个系统开发的模式有了更深的认识,对专业技能的运用更熟练。也从中清楚地认识了MVC编程模式。在开发系统过程中遇见了很多的问题。刚开始的时候不确定管理员是否能增加、删除板块。后来经过指导老师的讲解,我也开始考虑这些问题。并一一解决问题。在本次开发的时候出现的最大的问题就是,在做需求分析的时候,没有做好足够的调查和分析。最终导致了数据库设计不合理。在开发中途时不得不修改数据库。而数据库一修改,将面临的就是大部分代码的修改。这也是让我非常头痛的,但是经过不断地努力还是顺利的完成了修改数据库后的代码修改。这次的失误让我认识到了,设计数据库就是开发一个系统的核心。设计数据库一定要思路清晰,各个数据的流向各个表之间的关系一定要弄清楚,透彻。数据库设计出错了对以后整个系统的影响是最直接的。所以做需求时一定要做好需求分析,考虑完善,数据库设计要谨慎。总之需求分析时能做好就能降低需求变更,再加上设计时考虑到的技术可行性就可以大幅度的降低需求变更。在系统的开发过程中,还出现了很多很多的问题。但是自己还是通过网络上的查询,老师和同学给我的讲解,还有自己去查阅书籍。最终还是完成了预定的需求功能。看到自己独立完成并可以使用的系统给了我很大信心。相信,有了这次实践,我会更有信心在将来得工作中做出更大成绩。在本系统的设计过程和论文编写过程中,很多老师、同学都给与了我许多无私的帮助,尤其是我的导师给我的论文提出了很多宝贵的修改意见,在这里我向这些无私帮助我的人表示衷心的感谢。 致谢开发此次专题论坛系统使我有了一次加固理论知识的机会,让我从理论到了实践。开发这个系统使我学习到了在开发一个系统所需的步骤。在匆匆三年的学习时间里,每一位任课的老师以高度负责的专业态度,认真上好每一堂课的情景,给我留下难忘的印象。我学业的顺利完成,与他们辛勤工作是分不开的。在这次论文写作的规范化方面给了我很大的帮助和指点。借此机会,向他们和所有的任课老师说声谢谢!特别要感谢的是我的毕业设计指导老师周建儒老师,在此致以万分感谢!最后,感谢曾给过我帮助的同窗三年的同学和在毕业设计过程中给我帮助的同学和朋友,愿他们心想事成。 参考文献1郝玉龙.JavaEE编程技术.清华大学出版社,2008.62LiangY.D.Java语言程序设计基础篇.机械工业出版社,2008.63李锐、李哲等编著.PhotoshopCS3中文版完全自学教程.机械工业出版社,2008.34江开耀.软件工程与开发技术.西安电子科大出版社,2009.25飞思科技产品研发中心.Java2应用开发指南.电子工业出版社,2003.16刘志成.UML建模实例教程.电子工业出版社,2009.117赵韶平.PowerDesigner系统分析与建模.清华大学出版社,2004.88林上杰.林康司.JSP2.0技术手册.电子工业出版社,2005.49张琴.张千帆.JSP动态网页制作基础培训教程.人民邮电出版社,2005.110邱旭东.刘文浩.基于JSP的MVC开发模式研究及应用.中国科技术信息,2006.111汪孝宜等.JSP数据库开发实例精粹.电子工业出版社,2005.2'