《基于jsp的bbs论坛的设计与实现本科毕业设计.doc》由会员分享,可在线阅读,更多相关《基于jsp的bbs论坛的设计与实现本科毕业设计.doc(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 NANCHANG UNIVERSITY学 士 学 位 论 文THESIS OF BACHELOR(20102014年)题 目: 基于JSP的BBS论坛的设计与实现 南 昌 大 学学士学位论文原创性申明本人郑重申明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果。对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式表明。本人完全意识到本申明的法律后果由本人承担。作者签名: 日期:学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构
2、送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权南昌大学可以将本论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密,在 年解密后适用本授权书。本学位论文属于 不保密。(请在以上相应方框内打“”)作者签名: 日期:导师签名: 日期:摘要基于JSP的BBS论坛的设计与实现 摘 要进入了二十一世纪,由于科学技术的飞速发展,电脑软硬件的制作成本也越来越低,使得互联网越来越普及,计算机技术也迅速向着网络化、集成化方向高速发展。传统的单机版软件正在逐渐退出互联网市场,而网络版软件则如雨后春笋一般,蓬勃的发展起来。网络版软件中主要有两种不同的架
3、构:第一种是客户端服务器的C/S结构,它具有结构严谨,安全性好,效率高,服务器端压力小等一系列优点,因此被广泛运用于局域网中。第二种,也是本毕业设计所采用的,即浏览器服务器的B/S结构,它是在客户端直接采用了浏览器软件作为界面,因此使得软件开发效率高,客户端不受操作平台的限制,网络传输量少,不但适用于局域网,而且也适用于Internet,并且投资小。本文研究了一个以J2EE技术为主的BBS论坛的构建过程。J2EE技术作为目前企业或商务开发中较为主流的一种软件开发技术标准,不但继承了JAVA的技术优点,而且在软件的部署、扩展、管理等方面采用了更为先进的实现理念。所以本文采用J2EE框架,与Mys
4、ql相结合的手段,实现一个B/S多层体系结构、基于MVC模式的J2EE的BBS论坛,并研究这三个轻量级开源框架在该项目开发中的所起的作用。本BBS论坛的开发实现则是严格按照软件工程的思想和步骤进行的:通过需求分析、概要设计、详细设计、系统的编码实现等步骤完成BBS论坛的研发工作。制作本论坛所用的到的开发环境是MyEclipse8.5+MySQL数据库+Tomcat6.0服务器,综合运用了HTML、CSS、JSP以及JavaScript等语言。关键词:BBS论坛,JSP, Mysql,MyeclipseI Abstract Research and design of bbs based on
5、the JSP AbstractThe 21st century, computer technology rapidly toward networking, integrated direction.Traditional stand-alone version of the application software is gradually withdraw from the stage, instead, the support network, support for multiple data information (multimedia) of a new generation
6、 of online applications, and in the online edition of the software seems there are two different trends, one kind is called a client - server C/S structure, this software has a well-knit structure, high efficiency, the server side pressure is small, the advantages of good security, is widely used in
7、 the local area network (LAN).And another, also is the graduation design adopts, is called a browser - server B/S structure, its characteristic is directly in the client with a powerful browser software as the interface, its advantage lies in the software development efficiency is high, the client i
8、s not restricted by operating platform, and is not subject to regional restrictions, network transmission quantity is little, which is suitable for the local area network (LAN), more suitable for the Internet, and small investment, quick effect, users can need not to invest heavily in the server, bu
9、t to rent, even is free to use your ISP server resources, so favored by more and more small and medium-sized units.In this paper, we study a given priority to with J2EE technology process of the construction of the BBS BBS.J2EE technology as the enterprise or business is the mainstream in the develo
10、pment of a standard software development technology, not only inherited the JAVA technology advantages, and in the software deployment, extension, management and other aspects have adopted more advanced the implementation of the concept.So this article USES the J2EE framework, and the combination of
11、 database technology means, to implement a B/S multilayer architecture, based on MVC pattern of J2EE BBS BBS, and study the three lightweight open source framework in the role of the project development.In this paper, in strict accordance with the software engineering ideas and steps for the develop
12、ment of BBS BBS, through the demand analysis, general design, detailed design and coding of the system development of the steps to complete the BBS BBS.Front desk software used in this BBS is MyEclipse, background database is MySQL, runtime server is used in the Tomcat, the integrated use of HTML, J
13、SP, and the JavaScript language.Keywords:BBS, JSP, MysqlII目录目录摘 要IAbstractII第一章 引言11.1 课题背景11.1.1 国内研究现状11.1.2 课题的提出11.2 研究的目的和意义21.3 BBS论坛简介21.4 主要研究工作和结构2第二章 主要技术简介42.1 J2EE简介42.2 主要技术介绍42.2.1 Mysql42.2.2 JSP52.2.3 XML52.3 MVC设计模式52.3.1 MVC设计模式简介52.3.3 MVC设计模式的优缺点6第三章 系统分析83.1 系统需求分析83.2 系统功能分析83.
14、2.1 管理员模块83.2.2 会员模块83.3 系统建模93.3.1 系统用例模型9第四章 系统设计104.1 系统结构设计104.2 系统功能模块设计104.3 数据库设计114.3.1 数据库建模114.3.2 数据库实现12第五章 系统实现145.1 管理员登录145.2 会员注册175.3 会员发帖215.4 会员回帖255.5 会员删帖27第六章 系统总结与展望306.1 总结30 6.2 展望31致谢32参考文献33第一章第一章 引言1.1 课题背景 现在,随着计算机软硬件的大幅度降价,互联网技术得到了飞速的发展,传统的单机版软件正在逐渐退出舞台,而网络版的软件则快速发展起来,各
15、种各样的网络应用层出不穷。网络版软件中主要有两种不同的结构:第一种是称为客户端服务器的C/S结构,它具有结构严谨,效率高,服务器端压力小等优点,被广泛运用于局域网中。第二种,也是本毕业设计所采用的,浏览器服务器的B/S结构,它的特点为:客户端直接采用浏览器软件作为界面,应用开发效率高,客户端不受操作平台的限制、网络传输量少,不但适用于局域网,更适用于Internet,而且投资小。 互联网正在融入我们的生活,在我们的生活中扮演着越来越重要的角色。网络提供给我们的不仅仅是一个获得各种消息的途径,而且还是一个可以给人们提供一个自由交流的空间,而BBS论坛正是这种网络系统, 影响和改变着我们的生活。因
16、此开发出一个优秀的网络BBS(论坛),不仅是对我们学习成果的一种检验,更在生活中有其重要意义。1.1.1 国内研究现状中国大陆最早论坛是1991年建成并使用的北京长城站,由于当时互联网尚未开始普及,因此用户访问量每天只有十几人。但是到了现在,中国大陆出现了数不胜数的论坛,较为著名的有天涯社区、百度贴吧、红网论坛、华生论坛等等。随着计算机软硬件和其他相关设备的大幅度降价、互联网在国内得到了非常快速的发展,使得BBS的成本逐渐降低,因此也越来越多的被人认可,并且以惊人的速度发展起来。并且随着中国教育事业的发展,新型大学生的思想逐步开放,高校BBS的发展也是一个潮流问题,将会有越来越多的高校使用BB
17、S。BBS简单、易用、实用的特点必将使其得到大力发展。1.1.2 课题的提出随着网络技术的不断发展以及越来越高的普及率,人们对消息的获取的不断提高。BBS论坛越来越多的出现在生活的各个方面。作为人们交流的平台,BBS论坛也越来越重要,因此制作一个BBS论坛有其实用的价值。在此基础上,也可以检验自己大学四年所学的专业知识,运用到一个实际的项目,更好的锻炼自己。 1.2 研究的目的和意义1. 研究的目的:1) 掌握基本的软件工程思想,并实际运用;2) 熟练用JSP编写一个简单的BBS;2. 研究的意义: 随着计算机软硬件的大幅度降价,互联网技术得到了飞速的发展,用户群体也呈现爆炸性地增长。网络不再
18、仅仅是信息的被动获取来源,更成为人们探讨间题、交换观点的场所,其中,网上论坛扮演了极其重要的角色。各种各样的论坛几乎充实着我们的生活和工作的每一个方面,无论是商界、新闻界,还是政界,娱乐界,在向人们传递着各种消息。Internet正在融入我们的生活,在我们的生活中扮演着越来越重要的角色。网络提供给我们的不仅仅是一个获得各种消息的途径,而且还是一个可以给人们提供一个自由交流的空间,而BBS论坛正是这种网络系统, 将对我们的生活产生深远的影响。因此开发出一个优秀的网络BBS(论坛),不仅是对我们学习成果的一种检验,更在生活中有其重要意义。1.3 BBS论坛简介 本毕设主要讲述利用Java Web的
19、相关技术来制作一个简单论坛。通过需求分析,总体设计,详细设计,编码测试等软件工程学的原理,实现一个简易的BBS论坛系统应有的一些功能,如:登陆功能,用户要在登陆界面输入事先已经注册好的用户名和密码来实现登录,用户只有登录成功了才能进行浏览帖子,发表帖子等一系列的操作;注册功能,如果用户首次进入登陆界面,必需要先注册,注册时用户填写自己的个人信息,方便以后丢失密码时找回密码;密码找回功能,当已经注册的会员忘记了自己的登录密码时,可以通过密码找回模块找回密码,此时需要会员记得注册时填写的个人信息,并根据相关的密保问题来找回密码。除了这些基本功能之外,还有浏览、发表、回复以及删除帖子等功能。制作本B
20、BS论坛所用的开发环境是MyEclipse8.5+MySQL数据库+Tomcat6.0服务器,另外还综合运用了CSS、HTML、JSP等语言。1.4 主要研究工作和结构本文的具体工作如下:第一章 :介绍课题提出的背景,目的和意义,分析了BBS论坛的现状,明确论坛设计的目标及功能,却确定论文的整体架构。第二章 :介绍本BBS论坛所涉及到的相关技术。第三章 :从BBS论坛的需求出发,确定本系统的基本功能模块:登录模块,注册模块,发帖,删帖模块。并使用用例图分析了平台的软件结构。第四章 :侧重于系统的设计,主要结构设计和功能设计,包括数据库的需求分析,数据库的建模和数据库的实现。第五章 :主要给出了
21、BBS论坛基于J2EE的软件体系结构和系统开发环境的选择,并从数据库的持久层、业务成、表示层的角度,对主要的功能进行了描述,最后给出了本BBS论坛的主要模块演示效果。第六章 : 对本系统的总结和展望。33第二章第二章 主要技术简介2.1 J2EE简介目前,Java 2平台有3个版本,它们是适用于小型设备和智能卡的Java 2平台Micro版(Java 2 Platform Micro Edition,J2ME)、适用于桌面系统的Java 2平台标准版(Java 2 Platform Standard Edition,J2SE)、适用于创建服务器应用程序和服务的Java 2平台企业版(Java
22、2 Platform Enterprise Edition,J2EE)。J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如编写一次、随处运行的特性,同时还提供了对 EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。 图 2.1 J2EE容器2.2 主要技术介绍下面简单介绍一下Mysql和JSP等相关技术。2.2.1 Mysql MySQL是一个关系型数据库管理系
23、统,由瑞典MySQL AB公司开发,目前属于Oracle公司。Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。2.2.2 JSPJSP(全称JavaServer Pages)是由Sun Microsystems公司倡导
24、和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而动态生成HTML或其他格式文档的Web网页的技术标准。 JSP页面由HTML代码和嵌入其中的Java代码所组成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。2.2.3 XMLXML,或称为可扩展标记语言(Extensible Markup Language),是一种您可以用来创建自己的标记的标记语言。它由万维网协会(W3C)创建,用来克服 HTML(即超文本标记语言(Hypertext Markup Language),它是所有网页的基础)的局限。和 HTML 一样,XML
25、 基于 SGML 标准通用标记语言(Standard Generalized Markup Language)。XML 是为Web 设计的。2.3 MVC设计模式MVC设计模式是一个存在于服务器表达层的模型,它将应用分开,改变应用之间的高度耦合,其中MVC是Model-View-Control 的简称,即模型-视图-控制器。2.3.1 MVC设计模式简介MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。MVC应用程序被分成三个核心部件:模型、视图、控制器。分层概念:1)视图:视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的W
26、eb应用程序中,HTML依旧在视图中扮演着重要的角色。2)模型:模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务,它可能用像EJBs和ColdFusion Components这样的构件对象来处理数据库。3)控制器: 控制器接受用户的输入并调用模型和视图去完成用户的需求。图2.2 MVC工作原理2.3.3 MVC设计模式的优缺点1. MVC设计模式的优点:1)低耦合性视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可。2)较低的生命周期成本MVC使开发和维护用户接口的技术含量
27、降低。3)快速的部署使用MVC模式使开发时间得到相当大的缩减,它使程序员(Java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式上。2. MVC设计模式的缺点:MVC的缺点是由于它没有明确的定义,比较模糊,可以完全自由的发展,所以完全理解MVC并不是很容易。因此在使用MVC时,就需要设计者做精心的计划,由于它的内部原理比较复杂,所以需要花费一些时间去思考如何构建,把三个模型有机的结合起来,从而更好地实现既定的功能。第三章 第三章 系统分析 3.1 系统需求分析需求分析是软件生命周期的重要阶段,它直接影响着软件产品的质量,有效的需求分析是软件开发项目中关键
28、的功能因素。软件系统的需求分析一般可以分为功能型需求和非功能性需求,而软件项目开发的最终目标是满足系统的功能性需求和非功能性需求。BBS论坛的功能性需求包括如下内容:1. 系统管理员负责管理、维护整个系统,可以对用户发表的帖子进行审查,不符合要求的可以进行删除,以及对用户进行管理。2. 本BBS论坛的会员。每个会员都有自己的账号,使用账号和密码登陆系统后,会员可以浏览帖子,发表帖子等。游客。本BBS论坛系统对那些没有登录系统的人,默认为游客。游客只能浏览他人的帖子,不能进行发帖,回复等其他一些功能。游客若想成为会员,可以进行注册,成功注册本BBS论坛,即可进行发帖,回复帖子等功能。3.2 系统
29、功能分析 系统中用户:管理员、会员。以不同的身份登陆系统,有不同的权限对系统进行操作,从而保证了系统中的信息安全。3.2.1 管理员模块系统管理员模块为BBS论坛提供了管理整个系统的权限。主要有一下功能:帖子管理、用户管理、其他管理。1. 帖子管理管理员可以发布帖子,查看帖子信息,删除帖子。2. 用户管理管理员可以对用户进行添加,编辑,删除等,对帖子进行管理。3.2.2 会员模块 会员登陆系统后,可以浏览帖子,发表帖子,回复评论他人帖子,跟帖等。下面加以具体说明:1. 浏览帖子:会员可以浏览所有的帖子列表,查看帖子详情,但是不能对他人的帖子进行编辑和删除操作,只有管理员有权限。2. 回复帖子:
30、会员可以查看帖子列表,在帖子列表中选择自己感兴趣的帖子进行浏览并且可以回复。3. 发表帖子:会员可以就自己感兴趣的方面,发表帖子。3.3 系统建模建模就是建立模型,就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。为了更好的设计本系统,前期要建立相应的模型。3.3.1 系统用例模型 本BBS论坛系统参与者主要有管理员,会员,游客,非注册会员默认为游客,游客只能查看帖子,不能发帖和根贴。会员可以发表帖子,回复他人帖子,删除自己发的帖子等,论坛管理员则拥有最高权限,可以对用户和帖子进行管理,如增删帖子,用户等。系统用例如下所示: 图3.2系统用例图第四章第四章 系统设计4.1
31、 系统结构设计 本系统将采用多层的B/S结构,来搭建的一个BBS论坛。系统采用分层的思想,将系统分为数据库持久层、模型层、控制层和视图层。图4.1 Java Web 系统分层图4.2 系统功能模块设计本BBS论坛系统作为毕业设计的选题,因此只是提供了最基本的功能,可以让人们在系统内发表自己对问题的看法,彼此交流想法,意见等。因此,BBS论坛系统的最基本的功能是会员发表自己的主题,其次是其它人员根据主题发表自己的看法,即回复主题。考虑到现实情况,BBS论坛系统要有一个最高权限者,即管理员,可以对系统用户以及用户发表的帖子进行审核,增删等操作,以实现对BBS论坛系统的全面管理。 BBS论坛 数据库
32、 功能 管理模块 会员模块管理员登录用户管理帖子管理搜素帖子回复帖子发表帖子会员登录会员注册图4.2系统功能模块图4.3 数据库设计本系统采用MySQL作为数据信息的存储载体。4.3.1 数据库建模 ER图即所说的实体联系图,是软件工程学中常用的图,能够帮助设计者更好地分析实体之间的联系。E-R模型是对现实世界的一种抽象。其组成部分主要包括实体、联系和属性。经过第三章的系统分析,本BBS论坛系统创建了以下三个数据库表,即帖子表(discuss)、回帖表(reply)和用户表(student)。下面即是本BBS论坛系统所使用的数据库实体E-R图:如下: 年龄用户标识符用户名 生日 性别电子邮箱
33、密码 联系电话 用户 帖子内容 帖子主题 电子邮箱发帖的时间发帖人昵称 用户名 帖子的标识 帖子 图4.3 ER图4.3.2 数据库实现经过以上需求分析,本BBS论坛系统的数据库中主要有3张表,其数据字典如下所示: 表4.1 用户表student序号列名数据类型长度主键允许空说明1idint是否用户标识符2usernamevarchar20否用户名3passwordvarchar20否密码4sexvarchar8否性别5agevarchar4否年龄6birthvarchar20生日7telephonevarchar12联系电话8emailvarchar40否电子邮箱表4.2 信息表discus
34、s序号列名数据类型长度主键允许空说明1namechar20否发帖人昵称2emailvarchar40否电子邮箱3subjectchar60否帖子的主题4contenttext否帖子的内容5timechar40发帖的时间6usernamevarchar20否用户名7idint是否帖子的标识表4.3 回复表reply序号列名数据类型长度主键允许空说明1namechar20否回帖人昵称2contenttext否回帖的内容3timechar40回帖的时间4replyint否根贴标识5idint是否回帖标识符第五章第五章 系统实现经过前面几章的介绍,我们知道了本BBS系统的开发工具,对相关的需求也做了分
35、析,系统和数据库也做了详细的设计,下面我们就来实现以上所说的,把一个可以运行的BBS论坛系统呈现出来。5.1 管理员登录系统管理员进入登录页面,输入账号和密码,点击登录按钮,提交请求。1. 用户登录界面 图 5.1 用户登录界面 图 5.2 管理员登录界面2. 登录界面的制作:JavaScript标记语言判断输入的用户名和密码是否为空:/ 验证输入不为空的脚本代码 function checkForm(form) if(form.username.value = ) alert(用户名不能为空!);form.username.focus();return false;if(form.passw
36、ord.value = ) alert(密码不能为空!);form.password.focus();return false;return true;用户名:密码 :通过Login.html界面传递参数username 和 password 给Enter.jsp界面,然后查询数据库,判断用户名和密码是否正确。若判断正确则为用户建立一个session,并进入了用户主界面。5.2 会员注册1. 非会员访问本BBS论坛时,要注册后才可以进入论坛,进行发帖回帖等一系列操作。下面是会员注册功能的实现:填好用户名,密码,性别,年龄,出生日期,联系电话,电子邮件就可以完成会员的注册。 图 5.3 会员注册
37、会员注册后,可以根据用户名,密码登录本BBS论坛系统: 图 5.4 注册会员的登录会员登录成功后: 图 5.5 注册会员登录成功2. 会员注册代码: SaveRegister.jsp是用来保存新用户的注册信息,而这些信息是由Register.jsp页面传递而来。%String username = request.getParameter(username);String password = request.getParameter(password);String sex = request.getParameter(sex);String age = request.getParamet
38、er(age);String year = request.getParameter(year);String month = request.getParameter(month);String day = request.getParameter(day);String telephone = request.getParameter(telephone);String email = request.getParameter(email);String msg = null;username = convert(username);sql = select * from student where username= + username + ;rs = stm.executeQuery(sql); /查询数据库if (!rs.next() /如果不存在sex = convert(sex);age = convert(age);String birth;birth = year + 年 + month + 月 + day + 日;sql = insert into student ( us