您的当前位置:首页正文

基于JAVA的留言板的设计与实现毕业论文

2021-12-23 来源:步旅网
目录

关键词 ....................................................... Ⅰ

Abstract ..................................................... Ⅰ

Key words ....................................................

4.

基于JAVA的留言板的设计与实现

内容摘要:随着现代化技术的不断进步,人们发现交流的范围还是很小,不能满足更大范围人的需要,这样就出现了利用因特网在全球发布信息的留言——BBS。本文概述了用JDK、Access数据库和tomcat软件构建一个简单的个人留言板,该留言板能很方便的和同学沟通和交流。留言板具有功能强大,使用方便的特点。用户以个人的身份进入,查看留言,以及在留言板中写下自己要留言的内容,以及自己的相关信息。管理员可以根据管理员用户名和密码进入,进行删除,回复和修改。

关键词:个人留言板,留言板系统,Access数据库 1.系统分析与设计 需求分析

开发一个留言系统,首先需要确定留言的功能是什么,也就是用户想要的留言所能做的工作。用户使用留言是按照一定的流程来进行的:用户注册登录进入留言,可以就某个话题展开讨论,通过留言功能发布新的话题,通过回帖的功能回复已有的话题;管理员要管理留言,系统需要具有的功能有创建、删除留言的版块,管理注册的用户,管理留言,设置留言基本参数。这样的流程就决定了留言所应具有的功能,留言功能流程如图所示。

图 留言功能流程图

通过上面的分析,总结留言的功能有以下几项: 留言版块列表;浏览留言;回复;编辑留言;删除留言;管理版块;管理用户管理留言。

浏览板块:用户(浏览者)和管理员都可以看到的界面。 注册登录:用户(浏览者)要注册登录才能进行留言。 浏览留言:用户(浏览者)和管理员都有权限。

回复留言:由于是个人留言板,只有管理员才有权限回复。

用户(浏览者):有浏览板块、浏览留言、发表留言的权限。可以根据发言者留下的邮箱地址发邮件。

发表留言:用户(浏览者)和管理员都有权限。

管理留言:管理者有权限,主要是对于留言的回复,修改以及删除。

1

管理员所做的管理:

(1)查看留言:可以查看所有用户的留言,并查看留言者填写的个人信息 (2)回复留言:可以回复用户的留言,如有写错,可进行修改

(3)删除留言:如果用户发表了不符合留言规则的留言,则需要管理员删除这些留言。 三层构架

“Model”代表的是应用的业务逻辑,“View”是应用的表示面,“Controller”是提供应用的处理过程控制,通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。 开发模式

网站建设目前主要有两种基本的开发模型:两层模型、三层模型。B/S结构是真正的三层结构,它以访问WEB数据库为中心,HTTP为传输协议,客户端通过浏览器(Browser)访问WEB服务器和与其相连的后台数据库,我们称之为B/S(Browser/Server)模式。其三级结构组成如下图所示:

客户端 WEB服务器 客户端 后台数据图 开发模式图

图中从左到右,分为三个层次:

第一层是客户端即浏览器,主要完成客户和后台的交互及最终查询结果的输出功能。在客户端向指定的Web服务器提出服务器请求,Web服务器用HTTP协议把所需文件资料传给用户,客户端接受并显示在WWW浏览器上;

第二层Web服务器是功能层,完成客户的应用功能,即Web服务器接受客户请求,并与后台数据库连接,进行申请处理,然后将处理

2

结果返回Web服务器,再传至客户端;

第三层数据库服务器是数据层。数据库服务器应客户请求独立地进行各种处理。 与传统的C/S模式相比,B/S结构把处理功能全部移植到了服务器端,用户的请求通过浏览器发出,无论是使用和数据库维护上都比传统模式更加经济方便。而且使维护任务层次化:管理员负责服务器硬件日常管理和维护,系统维护人员负责后台数据库数据更新维护。

3

2.模块设计 整体模块设计

从上一节需求分析可以知道,留言功能分为用户使用的基本功 能和管理员管理系统的功能两类,因此模块设计也分为两大类。留

言的模块体系图如图所示。

留言系统 页面模块 管理模块 图 留言板的的功能模块图

本留言系统主要包括页面模块和管理模块,其主要功能模块如下: 1.页面模块:

(1)浏览模块功能:浏览主题帖列表、查看留言; (2)查看留言功能模块:查看留言及管理员回复; (3)签写留言功能模块:用户发帖; 2.管理模块:

⑴留言编辑模块:对用户留言进行编辑;

⑵留言回复模块:对用户留言进行回复,并允许编辑回复; ⑶留言删除模块:对用户留言进行删除

从以上分析,可以得到留言的功能框架,即系统的各个部分已经确定,对于留言系统来说,各个模块之间用一条主线串联起来,才能构建完整的系统。联系各个模块的主线是使用者的权限,用户能使用

4

留言的哪些功能是由用户的权限决定的。留言的每个功能都与相应的

权限相对应。同一类用户使用的功能模块,是以使用者为中心连接起来的。另外,操作同一类事物的功能模块,也是有相互关系的。因此,浏览模块与发帖回帖模块、管理留言模块关联,是由留言的系统流程决定的。而管理版块模块与浏览模块关联,是由留言与版块的父子关系决定的,留言附于版块,先有版块,后有留言,留言必须发表在某个版块中。还有管理用户模块与注册登录模块关联,是由同一类对象(用户)决定的。所有的用户需要接受管理员的管理,用户填写自己的个人信息然后发表自己的留言。由此,设计出留言系统的整体框架。

数据库结构设计

该系统的实体有:管理员信息实体、用户信息实体、留言实体。实体之间的E-R图如图所示。

图 实体间的关系E-R图 5

ID 管理员 账号 密码 图 管理员及其属性

如图所示很明确的说明了管理员的属性,包括ID,账号和密码,管理员通过账号和密码登录后可以进行留言的管理

ID 用户昵称 用户邮箱 留言主题 留言内容 用户 用户主页 QQ号码 留言时间 是否回复 图 用户信息 考虑到功能上的完整性,如图所示,设计如下面所示的数据项和数据结构: 用户信息:包括数据项有昵称、信箱、主页、QQ。

留言信息:包括数据项有留言的编号用户、主题、内容、发表时间等。

6

ID 名字 留言板 主页 网站主页 显示记录 屏蔽昵称 屏蔽字符 图 留言板信息

如图所示,留言板的信息主要有ID,名字,主页,网站主页,显示记录,屏蔽昵称,屏蔽字符。通过对留言板信息的控制,达到控制全局的目的。

用户注册

昵称 信箱 密码

图 用户注册

如图所示,用户注册功能需要填写昵称,密码和信箱,填写之后完成注册。 用户登录

昵称 密码 验证码

图 用户登录

如图所示,用户登录需要填写昵称,密码和验证码,填写正确之后登录,然后进行留言板的浏览及留言。

7

3.系统详细设计

留言拥有大量的数据,这就需要对这些数据进行存储和管理建立数据库。因为当留言的

在线用户很多时,就会出现“瓶颈”现象,造成阻塞,这里应该创建连接池来提高利用率。数据库建立成功后就应该进行具体的系统设计。然后,将进行留言信息页面的设计,包括主页面、发布留言相关页面等,是显示在留言页面,可以由用户(包括用户)以上级别的浏览者看到;最后,进行留言管理页面的设计,这是只能由管理员进行操作的页面,管理员会对留言进行安全、有条理的管理。 创建与连接数据库 数据库表的设计

留言版面表note_information: 记录所有的留言版面的信息。 用户表not_guest:记录了用户的基本且必要的信息。 管理员表note_admin:记录了管理员账号、密码。 用户信息表note_user:记录了用户的注册信息。

设计数据表间的关系为双层对应,就是简单的针对某一留言管理员进行回复。至此,留言系统的架构部分设计完成了,有了具体的数据库结构设计和系统功能设计,就确定了系统的数据基础和功能架。设计数据库表的字段时,需要充分考虑到留言的应用特点。数据库表的设计要求简单易于理解,扩展性好。

基于上面的内容,设计了下列表,这些表之间相互关联,共同存储着系统所需要的数据。在设计数据库表的过程中,要遵循几条原则:数据库设计一个表最好只存储一个实体或对象的相关信息,不同的实体最好存储在不同的数据表中,如果实体还可以再划分,原则是最好能够比当前系统要开发的实体的复杂度小;数据表的信息结构一定要合适,表的字段的数量一般不要过多;扩展信息和动态变化的信息一定要分开在不同的表里;多对多这样的表关系尽量不出现等。

表各数据表的说明

数据库表名 Admin 说明 用来存放管理员的名字和密码 表的作用 管理登录 Guest 用来存放用户的信息和留言 管理用户信息 留言板的相关信息 用户的注册信息 8

Information 用来表明该留言板的相关信息 User 用来存放用户的注册信息 Admin表:用来存放管理员的名字和密码,主要是管理登录 Guest表:用来存放用户的信息和留言,主要是管理用户信息

Information表:用来表明该留言板的相关信息,主要是留言板的相关信息。

表 表admin

字段名称 id Adminname adminpass 类型 自动编号 varChar varChar 字段长度 10 10 10 描述 Not Null Not Null Not Null 说明 编号 管理员名字 管理员密码 如表所示,admin表是用来存放管理员的名字和密码,主要是管理登录的,其主要包括ID,Adminname,adminpass;adminname指的是管理员的名字,adminpass指的是管理员的密码,通过管理员的登录,可以对留言板进行管理,包括编辑,回复和删除。

表 表guest

字段名称 id Name Title 类型 自动编号 varChar varChar 字段长度 100 10 150 描述 主键 Not Null Not Null 说明 访客留言编号 访客昵称 访客留言主题 Oicq content Reply 数字 varChar 数字 20 300 2 10 50 50 Not Null 访客的QQ号 访客留言内容 默认为1/0 版主是否给予回复 Not Null 留言时间 访客的主页 Not Null 访客的邮箱 Dateandtime 日期\\时间 Homepage Email varChar varChar 如表所示,Guest表是用来存放用户的信息和留言,主要是管理用户信息,其用户信息包括:id访客留言编号、Name访客昵称、Title访客留言主题、Oicq访客的QQ号、content访客留言内容、Reply版主是否给予回复、Dateandtime留言时间、Homepage访客的主页、Email访客的邮箱;其中昵称、邮箱、主题和内容是不能为空的,也就是必填项,这样可以帮助留言板的管理员识别留言者,并且同一个昵称只对应相应的邮箱,当其中必填项没有填好的时候,系统会给予提示,帮助用户完善用户信息的填写

9

表 表information

字段名称 Id Name 类型 自动编号 varChar 字段长度 100 20 描述 Not Null Not Null 说明 编号 留言板名字 url varChar 50 Not Null 留言板主页 Home varChar 50 Not Null 留言板所在网站主页 Num varChar 10 Not Null 留言每页显示记录数 Badid varChar 10 Not Null 屏蔽使用的昵称 badword varChar 50 Not Null 屏蔽使用的字符 如表所示,Information表是用来表明该留言板的相关信息,主要是留言板的相关信息,包括Id编号、Name留言板名字、url留言板主页、Home留言板所在网站主页、Num留言每页显示记录数、Badid屏蔽使用的昵称、badword屏蔽使用的字符;通过对相关信息的控制,可以屏蔽用户的部分输入字,可以使留言板变得文明。

表 表user

字段名称 Id Name 类型 自动编号 字符 字段长度 100 20 描述 Not Null Not Null 说明 编号 用户名字 Pass 字符 20 Not Null 用户密码 Email varChar 50 Not Null 用户的邮箱 如表所示,user表是用来存放用户注册信息的,包括Id编号、

Name用户名字、Pass用户密码、Email用户的邮箱,用户通过注册然后登录,再进行留言。

数据库的连接

Access是文件型数据库,一个文件就是一个数据库,可以利用JAVA中的语法直接连接。在连接数据库之前,必须先声明一个对象来当作数据库与JAVA程序之间的媒介。在建立表之后,完成代码的编辑,然后进行数据库的连接。 数据添加

根据需要添加数据,然后再在对应表中添加对应项目,编辑好代码,在进行连接。

数据删除

根据需要删除数据,然后再在对应表中删除对应项目,编辑好代码,在进行连接。

10

留言信息页面的设计 建立查看留言相关页面

图 浏览留言页面图

留言是留言的主要交流内容,是用户-网页-用户之间交流的必要手段,在留言的列表中,第一列“状态”,主要是根据图标来显示留言所处的状态,这些状态在页面最底部有图例表示,接下来一列是留言的主题,留言的主题前面有加号图标的可以展开,点击留言主题可以预览留言的内容。之后是留言的作者,即发帖人。回复和人气分别记载了回复的留言的数量和浏览过的人数。最后更新和回复人指的是最后一个回复留言的时间和用户。进入留言首先看到的就是这个留言列表页,通过这一页用户可以进入浏览留言或发表回复留言的界面进行各种操作。这部分数据来源主要是留言表、用户表,其中界面的颜色设置取自管理员对界面颜色配置的变量值。

本页面为首页,也为留言界面,包括了两大模块:留言操作和其他操作,留言操作包括查看留言、签写留言、管理留言三个功能模块,其他操作则只有退出管理,而退出管理之后,则返回当前页面,就没有权限进行修改、回复和删除。

11

注册登录相关页面

图 用户注册

如图所示,用户注册包括昵称,密码和信箱,正确填写后,提交注册,就可以用自己注册的昵称和密码登录浏览界面了。

图 用户登录

如图所示,用户登录包括昵称,密码和验证码,正确输入后,登陆,就可以浏览界面并进行留言了。 建立发布留言相关页面

进入发表新帖的界面。这里允许发表新留言,需要用户填写的新留言的信息包括:昵称、邮箱、个人主页、QQ、主题、具体内容等,这也是留言表里的最基本信息。其中标题不能超过50个汉字,要进行校验。其次该留言提供了一些头像的图片,用户只需选择一种即可。内容说明是指书写留言内容时输入框支持输入什么。具体内容输入框上的按钮可以对输入的内容进行字体方面的设置,界面比较友好,让用过Word的人很容易掌握这些小按钮的用法,其中有加粗、斜线等。输入框下方还提供一些小图片,用户可以点击表情图标就可在留言中加入相应的表情。所有内容都填写完毕后,点击“写好了”按钮则数据库中相应的留言表增加一条记录,用户留言发表成功。 12

图 发布留言页面图之个人信息

如图所示点击签写留言,则跳入发布留言界面,然后开始填写 个人信息,个人信息包括昵称,信箱,主页,QQ和主题,其中昵称、信 箱和主题是必须填写的,如果没有填写,或者填写不正确,系统都会给 出提示并帮助用户完成信息的填写,然后进入下一选项的填写。

图 发布留言页面图之个人信息的错误提示

当输入有错误或者没有填写好相关信息则会有如图提示。

当出现错误提示的时候,点击确定则返回重新填写的界面,只要用户 根据提示填写好相关信息,就能继续发表留言了。

图 发布留言页面图之选择头像 13

当用户填写玩个人信息之后,则进入了选择头像(如图所示),

用户可以选择自己喜欢的头像,并在头像前边用鼠标单击选中,则 可以进入留言内容的界面开始留言了。

图 发布留言页面图之留言内容

如图所示,在留言内容中,我们可以看到选择字体,字体大 小,选择颜色,还有word中常用的图标帮助用户进行文字的设置,并 可以插入图片,超链接等,在下方,有着大家非常熟悉的QQ表情可以 通过点击添加到正文中,这样方便实用的设计,可以为用户带来很大便 捷,如用生疏图标,则给留言的用户带来操作上不必要的麻烦。当留言 写好了之后可以点击“写好了”按键确认并发表留言,如点击“不写了” 则返回留言板首页。

14

留言管理页面设计 建立管理员登录界面

管理模块访问页,数据库中默认的已经存在的用户为admin,密码12345。该模块登录时要进行用户名和密码的有效性验证,查询用户表,见图。

图 留言管理登录页面图

建立版面管理相关页面

上面介绍了登录模块,接下来在管理员登录后进入留言维护模块,负责修改,回复,删除等。管理员首先看到的是留言列表。该列表页是管理员对留言进行各种操作的界面,所以要留给用户一些接口,以便用户进入到其他页面进行各种操作(新增留言分类、新增留言、分类排序修改、删除分类等)。在留言的列表页,留言分类的维护包括新增、编辑和

删除。

15

图 留言管理页面图

如图所示,管理员进入界面后,有删除、回复/编辑回复、编辑的权限。当管理员点击删除时,则跳出对话框(如图留言管理页面图之删除确定)当点击确定时,则该留言被删除,如点击取消,则保留留言。当点击回复/编辑回复或编辑时,者根据图(留言管理页面图之回复或编辑)提示进行恢复或者编辑。

图 留言管理页面图之删除确定图

图 留言管理页面图之回复或编辑 16

5系统的实现----测试 测试的目标

(1)测试是为了发现程序中的错误而执行程序的过程。

(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案。 (3)成功的测试是发现了至今为止尚未发现的错误的测试。 测试步骤 模块测试

模块应具有一些基本属性,如名字、明确规定的功能、内部使用的数据(或称局部数据)、与其他模块或外界的数据联系、实现其特定功能的算法,模块可被其上层模块使用,也可调用其下属模块进行协同工作等。 集成测试

集成测试是按设计要求把通过单元测试的各个模块组装在一起,检测与接口有关的各

种故障。可分为非增量式集成测试法和增量式集成测试法。 确认测试

对照软件需求规格说明,对软件产品进行评估以确定其满足软件需求的过程。 系统测试

系统测试实际上是针对系统中组成部分进行的综合性检验,很接近日常测试实践。 验收测试

验收的主要任务包括:明确规定验收测试通过的标准、确定验收方法、确定验收测试的组织和可利用的资源、确定测试结果的分析方法、指定验收测试计划并进行评审、设计验收测试的测试用例、审查验收测试的准备工作、执行验收测试。 图5-2-1软件测试的过程 测试阶段的信息流

图5-3-1测试阶段的信息流

4.结束语

作为计算机类专业的学生,我们每个学期都有课程设计,对软件开发的概念还不是很强。而毕业设计则不同,它是大学最后一次对专业知识的综合实践活动,同时也是我所做的工作量最大的一次作业,因此因此我对本次毕业设计给与了高度的重视。从选题、收集资料、学习相关业务技术到实际编程,我都一丝不苟的对待了,虽然说是自学,可能最后的系统不是很完善,在今后的学习工作中,我还会尽量的去完善本系统,希望在我的工作中可以用到这个系统,经过紧张的学习、设计阶段,我在编程尤其是数据库应用程序开发方面的实战能力得到了一定的巩固和提高,对数据库理论有了更深刻的认识,对软件开发的基本过程有了更深刻的了解。这些必然是自己在从事软件研究与开发方面的素质得到了

一次强有力的锻炼。当然期间由于开发软件的经验不足,其次对开发软件的应用也不够熟练,也走了不少弯路,有事甚至需要推到重来,总的感觉是遇到了很多困难,有时虽导致某些预期的功能未能实现。比如,浏览窗体中的修改、删除、查询功能不能很好的运行,原因找了好久,却发现不了其中的错误,因为在编译和连接的工程中都未提示出错,这一点,有待于以后进一步的提高。

总结本次设计给我感受最深的至少有以下3点:

1.进行软件开发这种工作,要有恒心,要能静下心来做,决不能浮躁

2.要遵循软件开发本身的规律,并且要吸取已有的经验

3.进行软件开发前,要建立一个好的系统模型,然后将其换份为几个模块,这样就容易的多了。但我想我的实际收回远非这么几点。

但是由于经验上的不足,失误之处在所难免,敬请各位老师批评指正。

17

参考文献

[1]王晟 韩泽坤编着.Access数据库开发经典案例解析[M].清华大学出版社,2006年。 [2]刘凡馨等. Access数据库应用教程[M]. 清华大学出版社,2007年。

[3]宇帆 王方 何翠平.网页制作与网站建设从入门到精通[M].人民邮电出版社,2006年。 [4](美)Bruch 编程思想(第4版).机械工业出版社.2007年。

[5]王宇虹等.Access 数据库系统开发从基础到实践[M].电子工业出版社,2006年。 [6]Alexander,M.梁普选 刘芳芬等译. Access数据分析宝典[M].电子工业出版社,2006

年。

[7]陈昊鹏等译.Java编程思想(第4版).机械工程出版社,2005年。

[8]钟小平 张金石 尚顶洪 张鹏编.网络服务器配置完全手册[M].人民邮电出版社,2006

年。

[9](美)Ivor Horton着.java2入门经典.机械工程出版社,2006,72-264页。 [10]张国鸣 严体华.网络管理员教程[M].第2版.清华大学出版社,2006年。 [11](美)里伯提 赫威兹.瞿杰 赵立东 张昊译.Programming 中文版[M](第3版).电子

工业出版社,2007年。

[12]冀振燕.UML系统分析设计与应用案例[M].人民邮电出版社,2003年。

[13]王珊 萨师煊.数据库系统概论(第四版)[M].高等教育出版社,2006年。 [14]朱侠仁 吴之闲.软件工程实用教程[M].中国青年出版社,2006年。 [15]申莉莉.数据库系统与Access教程.清华大学出版社,2003年。

18

因篇幅问题不能全部显示,请点此查看更多更全内容