jspjavabbs论坛的设计与实现.docx

上传人:b****5 文档编号:3600101 上传时间:2022-11-24 格式:DOCX 页数:18 大小:172.93KB
下载 相关 举报
jspjavabbs论坛的设计与实现.docx_第1页
第1页 / 共18页
jspjavabbs论坛的设计与实现.docx_第2页
第2页 / 共18页
jspjavabbs论坛的设计与实现.docx_第3页
第3页 / 共18页
jspjavabbs论坛的设计与实现.docx_第4页
第4页 / 共18页
jspjavabbs论坛的设计与实现.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

jspjavabbs论坛的设计与实现.docx

《jspjavabbs论坛的设计与实现.docx》由会员分享,可在线阅读,更多相关《jspjavabbs论坛的设计与实现.docx(18页珍藏版)》请在冰豆网上搜索。

jspjavabbs论坛的设计与实现.docx

jspjavabbs论坛的设计与实现

目 录

1背景及意义1

2系统总体设计3

1系统目标3

2系统功能划分4

1前台功能结构4

2后台功能结构5

3系统开发环境5

1开发环境6

2系统平台体系结构的选择6

3语言简介及特点6

4概述6

57

6技术7

3数据库设计8

3.1数据库分析9

3.2数据库概念设计10

3.3数据库的逻辑设计11

4系统详细设计与实现11

4.1前台设计12

1前台页面设计与实现13

2用户登录、管理员登录14

3论坛版块的展示14

4发表新主题15

5查看及回复主题15

4.2后台设计16

1管理员登录16

2用户信息管理17

结束语17

参考文献18

 

1、背景及意义

网络的兴起与发展,极大地改变了人们的思维和行为习惯。

基于网络的应用也层出不穷,论坛就是最早兴起的应用之一。

作为一种传递消息的方式,最早的的作用是公布股市的即时消息,而随着时代的发展,现在的的内容已达到无所不包的程度。

小到生活趣事,大到专业知识,各种各样的主题论坛让人眼花缭乱。

论坛网页的形式也由最初的静态页面发展到现在的动态页面,更好的实现了用户之间的交互。

财大家园论坛就是通过动态开发技术和数据库技术实现的以财大学生与老师为主要服务对象的一个基于现实环境之上的一个网上论坛,力求创造出一个模拟的网上校园虚拟环境。

此论坛是基于模式的一种网页论坛的设计与实现,力求做到界面友好、简单和易于操作。

论文从几个大的方面来对系统的开发做出了阐述。

在系统分析一章从需求分析和可行性分析两方面来做具体阐述;系统整体设计则从系统目标、系统功能划分和系统开发环境三大方面说明,结合后面的系统详细设计与实现一章完成对系统从整体到细节的全方位的理解。

开发论坛系统的目的是为了提供一个大家交流的平台,供人们发表看法、探讨经验、讨论问题。

因此,论坛系统的最基本的功能是发表主题,其次是其它人员根据主题发表自己的看法,即回复主题。

考虑到现实情况,并不是每一个访问的游客都具有发表主题的权利,所以必须用一个身份绑定用户,赋予其发表主题的权利,这就需要实现用户注册及登录的功能。

每一个系统都需要管理员这个特殊群体的存在,所以也需要实现管理员登陆的功能。

管理员区别于一般用户的地方在于,管理员往往具有更高的权限,有权对用户信息和帖子内容作出某些“增删改查”的操作,所以,针对管理员,系统应该实现删除和修改帖子以及对用户的管理等功能,以实现管理员对社区的管理。

考虑到社区访问量会很大,用户发表的帖子的数量自然很多,在浩瀚的帖子海洋中,如何才能查看自己感兴趣的帖子成为了一个不得不考虑的问题。

所以,系统还应该实现搜索帖子的功能,用模糊查询的方法,对社区的帖子进行筛检的工作。

本系统针对用户还实现了一个特殊的功能,即邮件发送。

如果某个用户对其他的用户感兴趣,那么可以通过将邮件发送到指定用户注册时所填写的邮箱地址,这样的话,就能够实现即时通讯的功能。

 

2系统总体设计

1系统目标

基于论坛在现实生活的实际应用,本系统的系统目标是提供一个以现实环境为基础的网上模拟交流平台,通过它,人们可以不必拘泥于空间和时间上的限制,方便交流,畅所欲言,同时也能够更加便利的看到周围人的想法,观点,最大化的丰富人们的视野和生活,让人随时都能身在其中,随时也能置身事外。

2系统功能划分

2.1前台功能结构

系统的前台初始页面如下,登录地址为“”:

图2-1财大家园网首页

当用户登录到论坛首页时,其默认的身份就是游客,只能查看、回复、搜索帖子,而不能执行发帖等其它操作。

如果用户为非注册用户,则其可以进行注册以获得一个登录身份。

如果用户为已注册用户,则其可以直接进行登录,然后以注册用户的身份执行诸如发表新主题、查看新主题、回复主题、搜索主题等一系列操作。

此时,用户已经具有了一种身份,此后用户可以以此种身份执行诸如发表新主题、查看主题、搜索主题、回复主题等操作。

2.2后台功能结构

后台功能主要是针对管理员而设置的,用户以管理员的身份登陆后,就能执行后台管理的操作,具体到此论坛,主要是指删除和修改主题以及对用户信息的管理。

后台系统流程图如下:

图2.2后台系统流程图

 

2.3系统开发环境

1开发环境

在建立工程前,需要首先搭建开发环境。

此论坛系统的开发需要用到以下几种工具,故开发前需要进行相应的下载和安装:

开发平台:

9.0M2

服务器:

7.0.5

数据库服务器:

5.1

开发工具:

1.6.0

辅助工具:

4

2系统平台体系结构的选择

在系统开发领域内,目前存在两大主流系统平台的开发结构,一种是结构,而另一种是结构。

结构,即大家熟知的客户端/服务器结构,是一种应用较早,相对传统的开发模式。

通过它,可以充分利用两端硬件环境的优势,将任务合理的分配到端和端,降低了系统的通讯开销。

结构,即浏览器/服务器结构,是随着的兴起,对结构的一种变化或者改进。

在这种结构下,用户不需要借助于客户端软件,通过浏览器,即可实现系统的全部既定功能。

在这种模式下,一部分事务逻辑在前段实现,但是主要事务逻辑在服务器端实现,大大简化了客户端电脑载荷,减轻了系统维护与升级的成本,从而降低了用户的整体成本。

从开放程度来说,传统的结构虽然采用的是开放模式,但这个开放性只是针对系统开发一级的,在特定的应用中,无论是客户端还是服务器端都还需要特定的软件支持。

而结构,是一次性到位的开发,应用此模式开发的系统,不同人员,在不同地点,以不同的接入方式(比如、等)访问并操作共同的数据库,能有效地保护数据平台和管理访问权限,服务器的数据库也很安全。

特别是在这样的跨平台语言出现之后,架构管理软件起来更是显得方便,快捷和高效。

可以说,是乘着兴起的风而杨风远航的,是适应时代的产物。

但是,也存在着自己的不足,比方说其在大量数据分析,实时控制应用方面就存在着需要改进的地方。

综合考虑,本系统还是考虑使用当下流行的结构作为系统的开发模式。

 

3概述

是由公司在语言的基础上开发出来的一种动态网页制作技术,其将标记<%%>插入到页面中,从而使网页中的静态部分和动态部分分离开来。

是类似的一种技术,在传统的静态网页文件插入程序段和标记,就形成了文件。

技术的强势在于:

1、一次编写,到处运行。

在更换系统时,代码不需要做任何修改。

2、系统的多平台支持。

基本上可以在所有平台上的任意环境下开发,在任意环境中进行系统部署,在任意环境中扩展。

3、强大的可伸缩性。

通过小小的文件运行,到由多台服务器进行集群和负载均衡,到多台进行事务处理,一台服务器到无数台服务器,表现了强大的可伸缩性。

4、多样化和功能强大的开发工具支持,常用的编辑工具有和等。

3.3.5

可以称得上是目前运行速度最快的语言数据库,除了具有许多其他数据库所不具备的功能和选择外,数据库是一种完全免费的产品,用户可以直接从网上下载数据库,用于个人和商业用途,而不必支付任何费用。

3.3.6技术

数据库管理是每个应用系统开发过程中不得不考虑的问题,目前主流的数据库有、、等。

不管使用何种技术,都离不开技术的支持。

的全称是,即数据库连接,是一种数据库通用接口采用的主流技术。

其定义了用来访问数据库源的标准类库,通过它使用一种标准方法,就能够方便的访问数据库资源。

所以,又是一种规范,其目标是使应用程序开发人员通过它连接任何提供驱动程序的数据库系统,这样就使得程序员无需对某种数据库有过多的了解,大大加快了开发过程。

有了,向各种数据库发送语句就是一件再简单不过的事了。

换言之,有了,就不必为访问数据库A专门再写一个程序,又为访问数据库B专门写一个程序。

所以,为应用程序与各种不同数据库之间进行对话提供了一个标准的方法,这也是语言“一次编写,到处运行”的优势。

4数据库设计

4.1数据库分析

数据库的设计,在应用系统的开发中起着举足轻重的作用。

一个合理、有效的数据库设计不仅是做好系统的保证,也能降低程序的复杂性,使程序的开发过程变得更加容易。

本系统是一个中型的论坛系统,考虑到用户信息量和用户需求等问题,决定采用作为项目用数据库。

是一个中小关系型数据管理系统,最初由公司发布。

由于体积小、速度快、总体拥有成本低等原因,成为许多中小型网站数据库的首选。

可以称得上是目前运行速度最快的语言数据库,此外,数据库是一种完全免费的产品,用户可以直接从网上下载数据库,用于个人和商业用途,而不必支付任何费用。

4.2数据库概念设计

图是实体联系图,模型是对现实世界的一种抽象。

其组成部分主要包括实体、联系和属性。

使用这三种成分,我们可以很好的抽象出现实世界中的个体,并通过彼此之间的联系来抽象整个世界。

模型是设计数据库时经常使用到的方法。

经过分析,本系统创建了五张数据库表,即帖子表()、版块表()、用户等级表()、用户表()和管理员表()。

下面划分出本系统所使用的数据库实体,它们分别为用户()和帖子()以及管理员()。

以下是帖子、用户和管理员的实体图:

图4-1帖子实体图

 

4.3数据库的逻辑设计

1、帖子表()

下面是对表的具体设计

表4-3

字段名

属性

约束

意义

1

帖子

2

父亲

3

4

所属版块

5

(30)

标题

6

内容

7

发帖时间

8

(30)

作者

9

帖子查看量

10

帖子回复量

11

判断帖子是否为叶子节点

12

判断帖子是否为精华帖

说明:

*是帖子的编号,为本表的主键。

*是父亲的编号,表示被回复的帖子号。

*表示根贴的号,表示最初发起主题的帖子号。

*表示帖子所属的板块号,每个版块的帖子分版块区别显示。

*表示帖子的主题。

*表示帖子的内容。

*表示发帖的具体时间。

*表示发帖的作者,此外键对应表中字段。

*表示帖子的查看量。

*表示帖子的回复量。

*判断帖子是否为叶子节点,值为1时表示为非叶子节点;为0时表示为叶子节点。

*判断帖子是否为精华帖,值为1是表示是精华帖;反之,则不是。

 

4系统详细设计与实现

4.1前台设计

系统的前台,即是直接面向用户的所有页面。

因为前台的功能模块较多,而各个模块的实现过程都是类似的,所以对于系统前台的介绍,只是做有选择的系统重点设计介绍。

1前台页面设计与实现

本系统的所有页面都采用了统一的简化页面框架,包括页头和内容显示区。

前台首页的页面运行结果已在前文中出现过,此处不再累述。

下面主要介绍前台首页面的具体实现。

由于论坛是以主题分版块展示的,下面以其中一个板块页面做详细介绍。

部分主要代码如下:

<%

<>=<>();

=();创建与数据库的连结

=();通过连结创建对象

="*";

=(,);执行语句,并返回结果集

(()){

a=();

();

(a);

}

记录总查看量

0;

记录帖子总数

0;

/*查询出帖子的总查看量*/

(<>=();();){

a=();

();

}

/*查询出帖子的总回复量*/

1="()0";

1=(,1);

1();

=1

(1);

/*查询出最后的发帖作者*/

2="*";

2=(,2);

(2()){

a=();

(2);

(a);

}

<>1=();

a11();

1();

(2);

(1);

();

();

();

%>

以上的语句实现的有三个功能:

1、查询出帖子的总查看量;2、查询出帖子的总回复量;3、查询出最后的发帖作者。

这些都是对整个板块的总体统计,是对板块信息的最直观的展现。

2用户登录、管理员登录

在论坛首页,提供了三个登录、注册入口,包括:

用户注册/登录、管理员登录;通过点击如下链接,进入到对应各个界面。

<>

"">普通用户注册<><>

<>

"">普通用户登录<><>

"">管理员登录入口<>

1)用户登录

用户完成注册后,就可以进行用户登录的操作,用户登陆页面如下:

图4-3用户登录界面

在用户登录时,如果用户名或密码输入有误,则会出现“”的错误信息提示,然后页面返回到登陆页面供用户修正输入继续登录。

3论坛版块的展示

版块页面运行效果

图4-4“最初的梦想“版块页面运行效果图

从运行效果来看,此处运用了分页技术。

分页技术实现的关键点依赖于一条重要的语句,具体如下:

*参数1”,”;

其中,是所要查询的表名称;

是起始页面;

是结束页面。

执行的效果是查询出排序结果的制定起始行到指定结束行的所有页面。

板块页面的展示是通过一个循环来实现的,在循环的基础上,为页面实现了一个优化:

奇偶行以不同的显示效果展现。

优化的方式主要向页面导入文件,在导入的时候,针对行数的奇偶性采取不同的对应操作。

主要代码如下:

<%

=0;

(<>=();();){

a=();

=%20?

"":

"";区分奇偶行,以不同效果区分显示

%>

 

实现代码具体如下:

代码段1:

获取制定部分行的查询结果

<%

=8;每页显示的主题数目

=1;记录当前页数

=("");

(()("")){

{

=();

}(e){

=1;

}

}

(<=0){

=1;

}

=0;记录符合要求的总主题页数

<>=<>();

=();

=();

=(,

"(*)0");

();

=

(1);

=(+-1)/;

(>){

=;

}

=();

=(-1)*;

="*0"

++","+;

=(,);

(()){

a=();

();

(a);

}

代码段2:

将获取的结果根据行号的奇偶性分页展示:

<%

=0;

(<>=();();){

a=();

=%20?

"":

"";

<"<>">

<%

;

%>

4发表新主题

在论坛版块展示页面中,注册用户可以执行发表新主题的操作,对游客而言,则不能实现此功能。

这个功能是通过区分用户登录方式的不同而实现的,非注册用户点击“发表新主题”的连接后会出现一个错误提示及跳转页面,以提示用户目前处于“非登录用户”状态,无权发表新主题。

已注册用户成功登陆后,则可以进行发表新主题的操作,运行页面效果如下:

图4-5发表主题页面

成功发表后,所发表主题会显示在论坛版块展示页面下(图4-5)。

5查看及回复主题

点击主题链接,进入主题查看页面。

图4-6主题显示页面

在此页面,用户点击“回复”按钮,即可进入到回复主题页面,运行效果如下。

图4-7主题回复页面

在此,需要说明的是:

为了美化回复的效果,在此加入了网页编辑器。

具体实现步骤为:

首先从网上下载一个,将解压文件拷贝到工程“”目录下,然后到压缩包解压文件“2.6.4”下的路径:

“\\\\02”下,打开静态页“02”,然后将其代码复制、粘贴到回复页面“”。

修改即可。

修改后的代码段如下:

<>

<""""><>

<"">

=()

{

.

.A:

='';''.

="<()+""()+":

"()()+""%>";

=('');

=;

();

}

<>

<>

4.2后台设计

1管理员登录

后台设计主要指管理员登录页面及登陆后的主题删除与修改页面。

管理员登录可以通过点击“管理员登录入口”链接实现。

管理员登录页面和用户登陆页面相似,见图5-3,此处不再赘述。

2删除主题

当需要对论坛上的帖子实现管理的时候,就需要以管理员的身份登录页面。

管理员所见的页面与普通用户所见的页面不同,在管理员页面下,能够实现对帖子的删除操作。

管理员登陆后的主题版块具体内容页面与普通用户和游客登陆后的页面相比,多了个按键【】,分别代表删除帖子,点击链接即可进入相应删除页面。

身份是权利的象征,当一个用户以“游客”的身份登录论坛时,其只能实现查看、回复帖子的最基本功能;而当一个用户以“注册用户”的身份登录时,其除了能够实现游客的所有权利外,还能够进行发表新帖的操作;如果用户是以管理员的身份登陆的话,他就拥有了最高的权限级别,除了能够实现注册用户的所有功能外,还具有删除及修改帖子、管理用户的权利。

以上的权限区分是通过来实现的。

一般来区分用户的登录方式,通过在用户/管理员登陆后设置一个值,来达到区分用户登录方式,提升系统安全性的目的。

用户登陆后所作的操作:

("","");

管理员登陆后所作的操作:

("","");区分登录方式(普通用户登录;管理员登录)

3用户信息管理

管理员登陆后,能够实现非管理员用户不能实现的三个功能,他们是:

删除帖子、修改帖子和管理用户信息。

删除和修改帖子是在主题展示页面(图5-4)的帖子左端,增加【】和【】两个按钮,分别跳转到“”和“”页面进行相应的修改和删除操作,过程较简单,具体实现步骤此处不再赘述。

用户信息管理是每个管理员必备的功能之一。

用户以管理员身份登陆后,在论坛首页就会多出两个按钮:

【退出登录】和【用户管理】,点击【用户管理】按钮,就进入用户管理界面,以下是界面展示图:

图4-8用户管理界面

如图示,在此界面列出了系统所有已注册的用户部分信息。

管理员可以根据需要对个别用户执行删除或者修改的操作,以实现对用户信息的管理。

单击【删除】按钮,被选定用户删除后自动跳转到论坛首页。

 

结束语

经过自己的不懈努力,毕业设计“财大家园论坛”的工作已进入了收尾阶段。

回首此次毕业设计的设计、开发过程,大致经历了四个阶段:

Ø搜集资料阶段

在开始的毕业设计定题过程中,面对大量的选择题目,感觉一头雾水。

结合自己在大学所学的知识及兴趣,并在网上查看了一下时下最流行的网络应用等选题素材,最终在老师的建议和指导下,才最终将选题确定下来。

确定选题后,就开始了资料收集的准备工作。

所幸,现在的资源都是共享的。

通过网络、图书馆收集了一大堆与选题相关的资料。

其间,也摒弃了很多无关紧要的内容。

掌握了一手资料后,接下来,就开始对所搜集的资料进行整理、分析和研究,并在此基础上制作了课题研究的方案及系统的设计规划。

Ø功能设计阶段

在前一步的基础上,我就开始了系统功能设计。

根据分析,此论坛的功能模块主要包括:

用户/管理员注册及登录、发布主题、搜索主题、回复主题、修改及删除主题以及用户信息的管理。

功能设计就是从大的方面来划分系统需要实现的功能模块。

囿于时间的限制,此系统实现的都是最基本的功能。

如果后期时间允许的话,可以增加一些新颖的功能。

Ø系统详细设计与实现阶段

系统详细设计就是针对某个具体的模块,从细节方面实现模块具体功能的阶段。

一个网络应用系统的开发离不开后台数据库的而支持,针对这类固定的操作,可以专门创建一个方法来实现。

值得一提的是,针对不同的登录方式,用户所见的页面展示效果也不同,这是为了提升系统的安全性而设计的。

在帖子展现页面,应用了分页技术;在帖子回复页面,添加了在线文本编辑器的应用;在页面跳转时,增加了延迟并动态显示延迟时间的功能。

这些都是对系统的优化工作,仅仅是为了实现基本功能的系统注定没有多大的生命力,如何为用户提供更加舒适,更加人性化的服务才是我们需要额外考虑的重点。

Ø撰写初稿及定稿阶段

通过本系统的设计与开发,真的使我获益良多。

但由于各种原因,本系统还存在许多不足,先将系统存在的不足列举如下,便于以后更新与修改:

1、在数据库的设计上,存在着很大的改进空间。

在针对用户的权限管理上没有做过多的考虑,用户虽然有权限级别上的划分,但是没有落实到具体的功能实现上。

2、用户注册/登录界面过于简便,未加入过多的验证处理,有待改进。

系统雏形已成,囿于本人的知识和时间有限,系统本身还存在着很大的不足,但通过独立设计与开发系统,我学到了许多知识,也越来越大的激发了我学习计算机的热情与动力,我想,这才是最重要的。

九、参考文献

开发实战宝典编著:

李钟蔚出版社:

清华大学出版社

面向对象编程编著:

孙卫琴出版社:

电子工业出版社

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 经济学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1