NANCHANG UNIVERSITY
题 目:
学 士 学 位 论 文THESIS OF BACHELOR
(2010~2014年)
基于JSP的BBS论坛的设计与实现
南 昌 大 学 学士学位论文原创性申明
本人郑重申明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果。对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式表明。本人完全意识到本申明的法律后果由本人承担。
作者签名: 日期:
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权南昌大学可以将本论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密□,在 年解密后适用本授权书。
本学位论文属于
不保密□。
(请在以上相应方框内打“√”)
作者签名: 日期:
导师签名: 日期:
摘要
基于JSP的BBS论坛的设计与实现
摘 要
进入了二十一世纪,由于科学技术的飞速发展,电脑软硬件的制作成本也越来越低,使得互联网越来越普及,计算机技术也迅速向着网络化、集成化方向高速发展。传统的单机版软件正在逐渐退出互联网市场,而网络版软件则如雨后春笋一般,蓬勃的发展起来。网络版软件中主要有两种不同的架构:第一种是客户端——服务器的C/S结构,它具有结构严谨,安全性好,效率高,服务器端压力小等一系列优点,因此被广泛运用于局域网中。第二种,也是本毕业设计所采用的,即浏览器——服务器的B/S结构,它是在客户端直接采用了浏览器软件作为界面,因此使得软件开发效率高,客户端不受操作平台的限制,网络传输量少,不但适用于局域网,而且也适用于Internet,并且投资小。本文研究了一个以J2EE技术为主的BBS论坛的构建过程。J2EE技术作为目前企业或商务开发中较为主流的一种软件开发技术标准,不但继承了JAVA的技术优点,而且在软件的部署、扩展、管理等方面采用了更为先进的实现理念。所以本文采用J2EE框架,与Mysql相结合的手段,实现一个B/S多层体系结构、基于MVC模式的J2EE的BBS论坛,并研究这三个轻量级开源框架在该项目开发中的所起的作用。本BBS论坛的开发实现则是严格按照软件工程的思想和步骤进行的:通过需求分析、概要设计、详细设计、系统的编码实现等步骤完成BBS论坛的研发工作。制作本论坛所用的到的开发环境是MyEclipse8.5+MySQL数据库+Tomcat6.0服务器,综合运用了HTML、CSS、JSP以及JavaScript等语言。
关键词:BBS论坛,JSP, Mysql,Myeclipse
I
Abstract
Research and design of bbs based on the JSP
Abstract
The 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 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 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 is 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, but 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 development 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 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 development 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, JSP, and
II
Abstract
the JavaScript language.
Keywords:BBS, JSP, Mysql
II
目录
目录
摘 要 .............................................................................................................................. I Abstract ......................................................................................................................... II 第一章 引言 .................................................................................................................. 1
1.1 课题背景 ......................................................................................................... 1
1.1.1 国内研究现状 ...................................................................................... 1 1.1.2 课题的提出 .......................................................................................... 1 1.2 研究的目的和意义 ......................................................................................... 2 1.3 BBS论坛简介 ................................................................................................. 2 1.4 主要研究工作和结构 ..................................................................................... 2 第二章 主要技术简介 .................................................................................................. 4
2.1 J2EE简介 ........................................................................................................ 4 2.2 主要技术介绍 ................................................................................................. 4
2.2.1 Mysql ..................................................................................................... 4 2.2.2 JSP ......................................................................................................... 5 2.2.3 XML ...................................................................................................... 5 2.3 MVC设计模式 ................................................................................................ 5
2.3.1 MVC设计模式简介 ............................................................................. 5 2.3.3 MVC设计模式的优缺点 ..................................................................... 6
第三章 系统分析 .......................................................................................................... 8
3.1 系统需求分析 ................................................................................................. 8 3.2 系统功能分析 ................................................................................................. 8
3.2.1 管理员模块 .......................................................................................... 8 3.2.2 会员模块 .............................................................................................. 8 3.3 系统建模 ......................................................................................................... 9
3.3.1 系统用例模型 ...................................................................................... 9
第四章 系统设计 ........................................................................................................ 10
4.1 系统结构设计 ............................................................................................... 10 4.2 系统功能模块设计 ....................................................................................... 10 4.3 数据库设计 ................................................................................................... 11
4.3.1 数据库建模 ........................................................................................ 11 4.3.2 数据库实现 ........................................................................................ 12
目录
第五章 系统实现 ........................................................................................................ 14
5.1 管理员登录 ................................................................................................... 14 5.2 会员注册 ....................................................................................................... 17 5.3 会员发帖 ....................................................................................................... 21 5.4 会员回帖 ....................................................................................................... 25 5.5 会员删帖 ....................................................................................................... 27 第六章 系统总结与展望 ............................................................................................ 30
6.1 总结 ............................................................................................................... 30 6.2 展望 ............................................................................................................. 31 致谢 .............................................................................................................................. 32 参考文献 ...................................................................................................................... 33
第一章 第一章 引言
1.1 课题背景
现在,随着计算机软硬件的大幅度降价,互联网技术得到了飞速的发展,
传统的单机版软件正在逐渐退出舞台,而网络版的软件则快速发展起来,各种各样的网络应用层出不穷。网络版软件中主要有两种不同的结构:第一种是称为客户端——服务器的C/S结构,它具有结构严谨,效率高,服务器端压力小等优点,被广泛运用于局域网中。第二种,也是本毕业设计所采用的,浏览器——服务器的B/S结构,它的特点为:客户端直接采用浏览器软件作为界面,应用开发效率高,客户端不受操作平台的限制、网络传输量少,不但适用于局域网,更适用于Internet,而且投资小。
互联网正在融入我们的生活,在我们的生活中扮演着越来越重要的角色。网络提供给我们的不仅仅是一个获得各种消息的途径,而且还是一个可以给人们提供一个自由交流的空间,而BBS论坛正是这种网络系统, 影响和改变着我们的生活。因此开发出一个优秀的网络BBS(论坛),不仅是对我们学习成果的一种检验,更在生活中有其重要意义。
1.1.1 国内研究现状
中国大陆最早论坛是1991年建成并使用的北京长城站,由于当时互联网尚未开始普及,因此用户访问量每天只有十几人。但是到了现在,中国大陆出现了数不胜数的论坛,较为著名的有天涯社区、百度贴吧、红网论坛、华生论坛等等。随着计算机软硬件和其他相关设备的大幅度降价、互联网在国内得到了非常快速的发展,使得BBS的成本逐渐降低,因此也越来越多的被人认可,并且以惊人的速度发展起来。
并且随着中国教育事业的发展,新型大学生的思想逐步开放,高校BBS的发展也是一个潮流问题,将会有越来越多的高校使用BBS。BBS简单、易用、实用的特点必将使其得到大力发展。
1.1.2 课题的提出
随着网络技术的不断发展以及越来越高的普及率,人们对消息的获取的不断提高。BBS论坛越来越多的出现在生活的各个方面。作为人们交流的平台,BBS论坛也越来越重要,因此制作一个BBS论坛有其实用的价值。在此基础上,也可以检验自己大学四年所学的专业知识,运用到一个实际的项目,更好的锻炼自己。
1
第一章
1.2 研究的目的和意义
1. 研究的目的:
1)掌握基本的软件工程思想,并实际运用; 2)熟练用JSP编写一个简单的BBS; 2. 研究的意义:
随着计算机软硬件的大幅度降价,互联网技术得到了飞速的发展,用户群体也呈现爆炸性地增长。网络不再仅仅是信息的被动获取来源,更成为人们探讨间题、交换观点的场所,其中,网上论坛扮演了极其重要的角色。各种各样的论坛几乎充实着我们的生活和工作的每一个方面,无论是商界、新闻界,还是政界,娱乐界,在向人们传递着各种消息。Internet正在融入我们的生活,在我们的生活中扮演着越来越重要的角色。网络提供给我们的不仅仅是一个获得各种消息的途径,而且还是一个可以给人们提供一个自由交流的空间,而BBS论坛正是这种网络系统, 将对我们的生活产生深远的影响。因此开发出一个优秀的网络BBS(论坛),不仅是对我们学习成果的一种检验,更在生活中有其重要意义。
1.3 BBS论坛简介
本毕设主要讲述利用Java Web的相关技术来制作一个简单论坛。通过需求分析,总体设计,详细设计,编码测试等软件工程学的原理,实现一个简易的BBS论坛系统应有的一些功能,如:登陆功能,用户要在登陆界面输入事先已经注册好的用户名和密码来实现登录,用户只有登录成功了才能进行浏览帖子,发表帖子等一系列的操作;注册功能,如果用户首次进入登陆界面,必需要先注册,注册时用户填写自己的个人信息,方便以后丢失密码时找回密码;密码找回功能,当已经注册的会员忘记了自己的登录密码时,可以通过密码找回模块找回密码,此时需要会员记得注册时填写的个人信息,并根据相关的密保问题来找回密码。除了这些基本功能之外,还有浏览、发表、回复以及删除帖子等功能。制作本BBS论坛所用的开发环境是MyEclipse8.5+MySQL数据库+Tomcat6.0服务器,另外还综合运用了CSS、HTML、JSP等语言。
1.4 主要研究工作和结构
本文的具体工作如下:
2
第一章
第一章:介绍课题提出的背景,目的和意义,分析了BBS论坛的现状,明确论坛设计的目标及功能,却确定论文的整体架构。
第二章:介绍本BBS论坛所涉及到的相关技术。
第三章:从BBS论坛的需求出发,确定本系统的基本功能模块:登录模块,注册模块,发帖,删帖模块。并使用用例图分析了平台的软件结构。
第四章:侧重于系统的设计,主要结构设计和功能设计,包括数据库的需求分析,数据库的建模和数据库的实现。
第五章:主要给出了BBS论坛基于J2EE的软件体系结构和系统开发环境的选择,并从数据库的持久层、业务成、表示层的角度,对主要的功能进行了描述,最后给出了本BBS论坛的主要模块演示效果。
第六章: 对本系统的总结和展望。
3
第二章
第二章 主要技术简介
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 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是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系
4
第二章
统)应用软件之一。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
2.2.2 JSP
JSP(全称JavaServer Pages)是由Sun Microsystems公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而动态生成HTML或其他格式文档的Web网页的技术标准。
JSP页面由HTML代码和嵌入其中的Java代码所组成。JSP具备了Java技
术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
2.2.3 XML
XML,或称为可扩展标记语言(Extensible Markup Language),是一种您可以用来创建自己的标记的标记语言。它由万维网协会(W3C)创建,用来克服 HTML(即超文本标记语言(Hypertext Markup Language),它是所有网页的基础)的局限。和 HTML 一样,XML 基于 SGML ― 标准通用标记语言(Standard Generalized Markup Language)。XML 是为Web 设计的。
2.3 MVC设计模式
MVC设计模式是一个存在于服务器表达层的模型,它将应用分开,改变应用之间的高度耦合,其中MVC是Model-View-Control 的简称,即模型-视图-控制器。
2.3.1 MVC设计模式简介
MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。MVC应用程序被分成三个核心部件:模型、视图、控制器。
分层概念:
1)视图:视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色。
5
第二章
2)模型:模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务,它可能用像EJBs和ColdFusion Components这样的构件对象来处理数据库。
3)控制器: 控制器接受用户的输入并调用模型和视图去完成用户的需求。
图2.2 MVC工作原理
2.3.3 MVC设计模式的优缺点
1. MVC设计模式的优点: 1)低耦合性
视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可。
2)较低的生命周期成本
MVC使开发和维护用户接口的技术含量降低。 3)快速的部署
使用MVC模式使开发时间得到相当大的缩减,它使程序员(Java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式上。
2. MVC设计模式的缺点:
6
第二章
MVC的缺点是由于它没有明确的定义,比较模糊,可以完全自由的发展,所以完全理解MVC并不是很容易。因此在使用MVC时,就需要设计者做精心的计划,由于它的内部原理比较复杂,所以需要花费一些时间去思考如何构建,把三个模型有机的结合起来,从而更好地实现既定的功能。
7
第三章
第三章 系统分析
3.1 系统需求分析
需求分析是软件生命周期的重要阶段,它直接影响着软件产品的质量,有效的需求分析是软件开发项目中关键的功能因素。软件系统的需求分析一般可以分为功能型需求和非功能性需求,而软件项目开发的最终目标是满足系统的功能性需求和非功能性需求。
BBS论坛的功能性需求包括如下内容:
1. 系统管理员负责管理、维护整个系统,可以对用户发表的帖子进行审查,不符合要求的可以进行删除,以及对用户进行管理。
2. 本BBS论坛的会员。每个会员都有自己的账号,使用账号和密码登陆系统后,会员可以浏览帖子,发表帖子等。
游客。本BBS论坛系统对那些没有登录系统的人,默认为游客。游客只能浏览他人的帖子,不能进行发帖,回复等其他一些功能。游客若想成为会员,可以进行注册,成功注册本BBS论坛,即可进行发帖,回复帖子等功能。
3.2 系统功能分析
系统中用户:管理员、会员。以不同的身份登陆系统,有不同的权限对系统进行操作,从而保证了系统中的信息安全。
3.2.1 管理员模块
系统管理员模块为BBS论坛提供了管理整个系统的权限。主要有一下功能:帖子管理、用户管理、其他管理。
1. 帖子管理
管理员可以发布帖子,查看帖子信息,删除帖子。 2. 用户管理
管理员可以对用户进行添加,编辑,删除等,对帖子进行管理。
3.2.2 会员模块
会员登陆系统后,可以浏览帖子,发表帖子,回复评论他人帖子,跟帖等。下面加以具体说明:
1. 浏览帖子:会员可以浏览所有的帖子列表,查看帖子详情,但是不能对他人的帖子进行编辑和删除操作,只有管理员有权限。
8
第三章
2. 回复帖子:会员可以查看帖子列表,在帖子列表中选择自己感兴趣的帖子进行浏览并且可以回复。
3. 发表帖子:会员可以就自己感兴趣的方面,发表帖子。
3.3 系统建模
建模就是建立模型,就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。为了更好的设计本系统,前期要建立相应的模型。
3.3.1 系统用例模型
本BBS论坛系统参与者主要有管理员,会员,游客,非注册会员默认为游客,游客只能查看帖子,不能发帖和根贴。会员可以发表帖子,回复他人帖子,删除自己发的帖子等,论坛管理员则拥有最高权限,可以对用户和帖子进行管理,如增删帖子,用户等。系统用例如下所示:
发布主题<
图3.2系统用例图
9
第四章 第四章 系统设计
4.1 系统结构设计
本系统将采用多层的B/S结构,来搭建的一个BBS论坛。系统采用分层的思想,将系统分为数据库持久层、模型层、控制层和视图层。
图4.1 Java Web 系统分层图
4.2 系统功能模块设计
本BBS论坛系统作为毕业设计的选题,因此只是提供了最基本的功能,可以让人们在系统内发表自己对问题的看法,彼此交流想法,意见等。因此,BBS论坛系统的最基本的功能是会员发表自己的主题,其次是其它人员根据主题发表自己的看法,即回复主题。考虑到现实情况,BBS论坛系统要有一个最高权限者,即管理员,可以对系统用户以及用户发表的帖子进行审核,增删等操作,以实现对BBS论坛系统的全面管理。
10
第四章
BBS论坛 数据库 功能 会员模块 管理模块 会 员 注 册 会员登录 发表帖子 回复帖子 搜素帖子 帖子管理 用户管理 管理员登图4.2系统功能模块图
4.3 数据库设计
本系统采用MySQL作为数据信息的存储载体。
4.3.1 数据库建模
ER图即所说的实体联系图,是软件工程学中常用的图,能够帮助设计者更好地分析实体之间的联系。E-R模型是对现实世界的一种抽象。其组成部分主要包括实体、联系和属性。
经过第三章的系统分析,本BBS论坛系统创建了以下三个数据库表,即帖子表(discuss)、回帖表(reply)和用户表(student)。下面即是本BBS论坛系统所使用的数据库实体E-R图:
如下:
11
第四章
用户标识符 用户名 密码
生日 性别 年龄 电子邮箱 联系电话 用户
人昵称 发帖 电子邮箱 帖子主题 帖子内容 发帖的时间 帖子的标识
用户名 帖子
图4.3 ER图
4.3.2 数据库实现
经过以上需求分析,本BBS论坛系统的数据库中主要有3张表,其数据字典如下所示:
12
第四章
表4.1 用户表student 序号 列名 1 2 3 4 5 6 7 8 id username password sex age birth telephone email 数据类型 int varchar varchar varchar varchar varchar varchar varchar
表4.2 信息表discuss
序号 列名 1 2 3 4 5 6 7
表4.3 回复表reply
序号 列名 1 2 3 4 5 name content time reply id 数据类型 长度 主键 char text char int int
13
长度 20 20 8 4 20 12 40 主键 是 允许空 否 否 否 否 否 否 说明 用户标识符 用户名 密码 性别 年龄 生日 联系电话 电子邮箱 数据类型 长度 char varchar char text char varchar int 20 40 60 40 20 主键 是 允许空 否 否 否 否 否 否 说明 发帖人昵称 电子邮箱 帖子的主题 帖子的内容 发帖的时间 用户名 帖子的标识 name email subject content time username id 允许空 否 否 否 否 说明 回帖人昵称 回帖的内容 回帖的时间 根贴标识 回帖标识符 20 40 是 第五章 第五章 系统实现
经过前面几章的介绍,我们知道了本BBS系统的开发工具,对相关的需求也做了分析,系统和数据库也做了详细的设计,下面我们就来实现以上所说的,把一个可以运行的BBS论坛系统呈现出来。
5.1 管理员登录
系统管理员进入登录页面,输入账号和密码,点击登录按钮,提交请求。 1. 用户登录界面
图 5.1 用户登录界面
14
第五章
图 5.2 管理员登录界面
2. 登录界面的制作:
JavaScript标记语言判断输入的用户名和密码是否为空:
相关推荐: