网上论坛毕业设计论文.docx

上传人:b****4 文档编号:5048726 上传时间:2022-12-12 格式:DOCX 页数:23 大小:334.92KB
下载 相关 举报
网上论坛毕业设计论文.docx_第1页
第1页 / 共23页
网上论坛毕业设计论文.docx_第2页
第2页 / 共23页
网上论坛毕业设计论文.docx_第3页
第3页 / 共23页
网上论坛毕业设计论文.docx_第4页
第4页 / 共23页
网上论坛毕业设计论文.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

网上论坛毕业设计论文.docx

《网上论坛毕业设计论文.docx》由会员分享,可在线阅读,更多相关《网上论坛毕业设计论文.docx(23页珍藏版)》请在冰豆网上搜索。

网上论坛毕业设计论文.docx

网上论坛毕业设计论文

1绪论

1.1选题背景

论坛系统最初是为了给计算机爱好者提供一个互相交流的地方。

70年代后期,计算机用户数目很少且用户之间相距很远。

因此,网上论坛系统(当时全世界一共不到一百个站点)提供了一个简单方便的交流方式,用户通过网上论坛可以交换软件和信息。

进入21世纪,就进入了经济、社会、技术快速发展的新时代,越来越倾向于网络化、集成化方向发展。

同时,人们对网络要求也越来越高,越来越需要一个尽可能自由自在表达自己心里想法的空间,也习惯于通过Internet网络获取信息,发表信息,对社会对生活的理解和建议,不再局限于以前的只有认识的人才可以交流,现在论坛的存在打破了空间与时间、距离的限制,论坛系统最初只是为了给计算机爱好者提供一个互相交流的地方。

到了今天,网上论坛的用户已经扩展到各行各业,除原先的计算机爱好者们外,商用网上论坛操作者、环境组织、宗教组织及其它利益团体也加入了这个行列。

只要浏览一下世界各地的网上论坛系统,你就会发现它几乎就像地方电视台一样,花样非常多。

1.2主要内容有研究意义

大约是从1991年开始,国内开始了第一个网上论坛站。

经过长时间的发展,直到1995年,随着计算机及其外设的大幅降价,网上论坛才逐渐被人们所认识。

1996年更是以惊人的速度发展起来。

多数业余网上论坛站的站长,基于个人关系,每天都互相交换电子邮件,渐渐地形成了一个全国性的电子邮件网络。

于是,各地的用户都可以通过本地的业余网上论坛站与远在异地的网友互通信息。

由于业余网上论坛站拥有这种优势,所以使用者都更乐意加入。

为了推动中国计算机网络的健康发展,提高广大计算机用户的应用水平。

从网友的发帖中,能得到有益的教诲和启发。

网友关于各个方面的有益的观点,能被有关部门采纳,而不是网友空自评论,自艾自叹,自喜自悲,一些论点能做到各方观点正确公平的显示,具有参考价值,论坛应具有知识性,趣味性,公平性,和谐性等优点。

1.3论文的组织结构

第一部分:

绪论。

介绍了论文的选题背景、主要内容和研究意义和本论坛问题的提问。

第二部分:

网上论坛的概述。

主要是本论坛的一些功能、权限、页面等一些方面的内容。

第三部分:

开发环境概述。

其中包括JSP技术、ADO技术、数据库技术。

第四部分:

系统需求分析。

其中包括现状分析、系统要求分析。

第五部分:

系统总体设计。

其中包括数据结构设计、系统结构的设计、系统的综合设计、系统的数据实体设计、系统的逻辑模型、系统逻辑模型数据流简要说明。

第六部分:

系统主要功能详细设计。

其中包括模块的设计、JSP网页数据库连接。

第七部分:

系统的运行效果。

其中包括运行环境、运行结果。

第八部分:

总结。

其中包括总结与展望、致谢、参考文献。

 

2网上论坛概述

网上论坛系统就是提供给注册用户一个平台,普通用户可以通过Internet接入,登录论坛,在这个平台上发表文章、阅读文章、回复文章等等。

此类系统通常有以下四种类型的操作用户:

普通用户、版面管理员。

不同用户有其不同的操作集,系统通常提供一个统一的登录页面,此页面应能自动识别不同级别的用户,并提供不同的操作界面。

与之相应,此类系统通常应具有以下功能:

用户注册、用户登录、发表文章、阅读文章、回复文章、分页查找、主题查找、作者查找、个人资料维护、版面管理、版主管理、用户管理、友情链接管理等等,所有操作都可以由用户在客户端浏览器中完成,而服务器端程序会按用户的要求来完成对系统数据的操作,并将结果传给Web服务器,再由Web服务器处理成HTML文件后发送到客户端浏览器。

这就是B/S结构应用系统,B/S结构即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。

C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。

B/S结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑能够在前端实现,但是主要事务逻辑在服务器端实现,形成所谓N-Tier结构。

B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。

随着Windows98/Windows2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。

将应用程序分成好几个离散逻辑组件,就是多层式结构(N-Tier)应用程序。

最常见的选择是分成三个部分:

表示层、事务逻辑层和数据层(3-Tier),不过也有其它的组合。

多层式结构应用程序,在一开始是解决某些与传统客户端/服务器(主从式)应用程序相关的问题,但是随着Web的出现,此结构已经成为主导新程序之开发的结构。

下面就是3-Tier结构各层功能以及经常采用的技术作个简介:

表示层主要运行于客户端浏览器,采用Script语言编写。

HTML、JavaScript、VBScript是此类应用系统中展示层最常用的脚本编制语言,结合CCS以及ActiveX技术,能设计出交互相当灵活功能又相当强大的客户端网页。

事务逻辑层设计通常有三个选择:

JSP网页、COM或COM+组件、DBMS中所执行的预存程序。

将程序代码的一部分,建立成执行于数据库管理系统(DBMS)中的预存程序,使数据与程序代码储存在相同的位置,有助于最佳化执行效率,但是,预存程序都依赖于特定的数据库系统,在编写和侦错方面都相当复杂,只适宜于大型的商业应用系统。

以COM对象的方式,编写中间层(MiddleTier)事务逻辑,可以使用全功能的语言,来产生经过编译的执行程序,执行效率也相当高,此外,在COM对象中包装事务逻辑,还可以清楚地将此程序代码与网页内含的展示程序代码分隔,这样可以使应用程序更易于维护,但是,COM对象的部署也有一定的麻烦,新编写的组件对象,只有在服务器重新启动后才能被应用程序调用。

用JSP网页设计事务逻辑相对来说比较简单,但是,JSP网页采用脚本语言来编写事务逻辑,比如VBScript,程序代码只有在执行时才被翻译,这样会降低执行效能,此外,JSP网页中的程序代码也是难以维护的,因为事务逻辑程序代码与建立使用者接口的展示程序代码彼此混杂在一起。

数据层较为灵活,视系统规模可选择Sybase、Oracle、MySQL、SQLserver或者MSAccess。

综上所述,结合网上论坛系统实际需要,本网上论坛系统采用B/S结构。

论文设计开发的系统为通用网上论坛系统,系统应该具备较大的可伸缩性,应该能适应最基本应用最广泛的WEB平台。

另外,通用系统应该具备较大的可扩展性,因此,这次设计开发的网上论坛事务逻辑层设计采用JSP网页;至于数据层,本系统采用最基本的MSAccess数据库系统。

3开发环境概述

设计开发的网上论坛系统要求客户端支持IE6.0以上或与之兼容的浏览器软件,客户端硬件最低要求对应于IE6.0的硬件平台要求,服务器端要求支持JSP以及MSAccess数据库。

论坛的开发环境和开发工具为:

Windowsxp,JSP,Access数据库。

3.1关键技术

3.1.1JSP技术

JSP技术是一种类似HTML语言(HypertextMarkup Language超文本标识语言)、Script与CGI(CommonGatewayInterface通用网关接口)的结合体,简单的讲它是一种运行于服务器的脚本语言,但是其运行效率比CGI更高、程序编制也比HTML更方便且更有灵活性,程序安全性及保密性也远比Script好。

3.1.2ADO技术

ADO(ActiveXDataObjects)是微软公司提供给网页开发者在网页中存取数据库的最新技术,它也是JSP内置的重要组件,ADO主要的目的是为了存取或修改数据源的数据、或增加数据到指定的数据源,数据源不仅包括数据库,而且还包括了dBase、Excel、Foxpro、Access或文本文件等一些小型的数据表,所以,只要是ODBC驱动程序所能存取的数据源皆是ADO存取的对象。

ADO主要是由Connection对象、Command对象、Parameter对象、Recordset对象、Field对象、Property对象及Error对象等七个对象与Fields数据集合、Properties数据集合、Parameters数据集合及Errors数据集合等四个数据集合所组合而成。

3.2数据库技术

3.2.1Access数据库

数据库(Database)是一系列信息资源的集合。

在一个数据库中,与一个项目有关的所有信息都可以叫做一条记录(Record)。

每一条记录都是由一系列的字段(Field)组成的。

一系列记录的集合就构成了数据表格(Table)。

对于一个简单的“平面文件”的数据库来说,它仅包含了一个数据表格,而对一个“关系型”数据库来说,它却包含两个或两个以上的数据表格,表格的各字段之间存在这一种或多种关系(有时可以把这种关系叫做“链接”)。

简单的平面文件数据库的用途非常有限,而关系型数据库却能够包含数据以百万计甚至以亿计的记录,并可以利用复杂的标准对这些记录进行操作,例如排序和统计。

把它们叫做“关系型”数据库,是因为需要在这些数据表格的字段之间建立特定的链接关系。

关系型数据库的优点在于:

通过将一个表格中的字段与另一个表格中的字段联系起来,两个表格之间的信息可以相互调用,可以避免信息的重复记录,也可以避免管理上的混乱。

因此关系型数据库可以减小数据库的体积,这对于大型的数据库来说具有非常重要的意义。

建立WEB站点时,我可以使用两种主要的数据库:

MicrosoftSQLServer和MicrosoftAccess。

MicroSQLServer是一种功能齐全的客户机/服务器数据库产品,适用于系统经常被大量的用户查询的情况。

对于查询次数有限的情况,则可以采用中小型数据库的代表产品MicrosoftAccess。

MicrosoftAccess是理想的入门级产品,其中提供了大量的向导,可以辅助完成数据库的创建和管理。

3.2.2结构查询语言(SQL)

SQL是结构查询语言(StructureQueryLanguage)的英文缩写,它是使用关系模型数据库的应用语言,由IBM在七十年代开发出来的,实现了关系型数据库中的信息检索。

利用SQL语言,可以查询和管理自已的数据库。

常用的SQL查询命令有:

Select、Insert、Delete、Update等。

Javascript是一种比较随意的语言,这就并不意味着不一定必须明确地声明变量的类型。

此外,在很多情况下,Javascript脚本语言在需要的时候可以进行自动转换。

JavaScript是Java与HTML结合的产物,HTML文档中可以嵌套JavaScript命令,但是JavaScript语句不需要编译,浏览器可以直接执行JavaScript语句。

可以利用JavaScript结合CCS可以创建交互能力很强的WEB界面。

4系统需求分析

二十一世纪是信息高速发展的时代,而网络的普及已经是当今社会发展的必然趋势。

社会的各个行业也已经认识到应用网络的重要性和方便性。

因此,网络在人们的生活中、工作中已经必不可少。

因此一个方便的网上书店系统在人们的日常生活中发挥着重大的作用。

4.1现状分析

随着网络技术的发展,Internet已成为最具市场潜力的技术领域,使用Web技术设计的数据库应用软件,是目前Internet市场的主流,各种Web应用如电子商务,在线讨论等都采用这种方式实现。

互联网的优势在于用户能同时从不同网站、不同数据库中存取数据,所以现在论坛越来越成为网上交流的一种捷径,它相当于一个很多人都可以参加的大舞台,为广大网友提供一个彼此交流的空间,让网民们在网上畅所欲言。

4.2系统功能分析

网上论坛系统要实现的最基本的功能就是能够发贴,回复贴子,浏览贴子等功能,扩展的功能就是,新用户注册可以注册,管理员可以更改普通用户的信息,删除普通用户的功能,管理员可以禁止不良用户的进入,可以对公告、论坛、用户进行管理,普通用户还可以进行搜索信息,管理员可以搜索用户,可以做到全面管理。

4.3系统要求分析

按照本课题的建设和系统设计需求,对网上论坛系统进行了初步调研,确定出该系统目前的主要需求,由于这个系统是一个关于对娱乐新闻的论坛,所以对于页面的要求非常高由于该系统的使用对象多,要求有较好的权限管理,论坛是一个开放的平台,对于一些发布不良影响的消息,可以对其进行管理,管理员能对用户进行管理,良好的界面,可以让网友可以了解到他所了解的内容,管理员要及时的更新信息。

5系统总体设计

5.1数据结构的设计

本系统总共用到了五个表,基本的情况如下:

公告(公告ID、公告标题、公告内容、公告时间)

论坛栏目(论坛ID、论坛名称、创建时间、版主姓名、版主密码、贴子数量、主题数目、最后发表人、最后发表时间)

贴子(贴子ID、版块ID、回复ID、贴子内容、发表日期、贴子作者、点击次数、回复次数、显示签名、贴子图片、IP地址、回复用户、回复时间)

用户表(用户ID、用户名、用户密码、用户性别、用户邮箱、手机号码、居住地址、OICQ、出生日期、用户图像、签名、发贴次数、访问次数、用户等级、注册日期、是否在线、身份认证)

在线(在线ID、在线用户名、在线开始时间、在线后面时间、在线最后时间、在线IP地址)

5.2系统结构的设计

系统结构大概来讲主要包括:

登录页面、注册页面、用户页面、管理员页面、发贴子、发表主题等系统最基本的页面。

如下简单系统结构如图5-1所示:

图5-1系统结构图

5.3系统的综合设计

5.3.1系统界面

设计开发的网上论坛系统的初始界面是用户登录,用户可以通过初始界面提供的统一的用户登录接口,登录进入各自的操作界面。

5.3.2系统功能

设计开发的网上论坛应具有通常网上论坛网站应该具有的基本功能,包括用户注册、用户登录、发表文章、阅读文章、回复别人的文章、分页查找、主题查找、作者查找、个人资料修改、在线人数统计等,此外,用户在发表贴子时,能输入带格式文本,用户在发表或回复一篇贴子时,系统可以统计贴子数。

设计开发的网上论坛的操作用户按不同级别依次可分为:

普通用户、系统管理员;普通用户可以在登录之后发表信息,修改资料等功能,系统管理员可以对发布公告、论坛话题、普通用户的资料、发贴子等所有功能。

普通用户功能要求:

发表或回复贴子、个人资料维护、退出、搜索、查看公共信息。

系统管理员功能要求:

贴子管理、发布公告、普通用户资料管理、论坛基本设定、版面管理、退出、搜索、查看公共信息、友情链接管理。

5.3.3系统性能

对于贴子查看、发表贴子以及回复贴子这类频繁发生的系统操作,要采取适当的技术优化这类数据操作,以提高数据存取效率。

5.3.4安全性保密性可靠性

高级别用户的所有管理操作要有针对普通级别用户的身分识别功能,以防止低级别的用户越权执行高级别用户才具有的操作功能。

5.4系统的数据实体

根据论坛的功能需求,论坛管理和维护以下几种数据元素:

普通用户、系统管理员、论坛、论坛版面、贴子、友情链接。

5.4.1普通用户实体

普通用户包含这样一些基本属性:

用户名、用户密码用户EMAIL、用户真名、性别、出生年月日、联系方式、OICQ等属性。

其中,用户名为用户唯一标志,不允许重名。

用户发表贴子的数量是作为衡量此用户在本论坛活跃程度的一个标志。

5.4.2系统管理员

系统管理员是这个系统中权限最大的,因此,他除了包含普通用户所有的基本属性以外,还应包含以下几个属性:

用户名、用户密码用户EMAIL、用户真名、性别、出生年月日、联系方式、OICQ等属性,贴子管理、发布公告、普通用户资料管理、论坛基本设定、版面管理、退出、搜索、查看公共信息、友情链接管理。

5.4.3论坛

论坛基本信息比较稳定,只能为超级管理员所维护,此实体包括以下一些基本属性:

论坛ID、论坛名称、创建时间、版主姓名、版主密码、贴子数量、主题数目、最后发表人、最后发表时间。

5.4.4版面

论坛版面包含这样一些基本属性:

明星档案、明星相册、明星资料、粉丝团、进入论坛、搜索、修改资料、退出。

5.4.5贴子

贴子包含以下一些基本属性:

贴子ID、版块ID、回复ID、贴子内容、发表日期、贴子作者、点击次数、回复次数、显示签名、贴子图片、IP地址、回复用户、回复时间。

5.5系统的逻辑模型

5.5.1系统逻辑模型数据流简要说明:

(1)用户与信息处理系统之间

系统的输入数据流:

注册资料、登录数据;

系统的输出数据流:

贴子内容、会员列表、版主列表、版面列表、人气贴子列表、热门话题列表;

加工逻辑:

注册加工、登录加工。

(2)会员用户与信息处理系统之间

系统的输入数据流:

注册资料修改、发表贴子、回复贴子;

系统的输出数据流:

贴子内容、会员列表、版主列表、版面列表、人气贴子列表、热门话题列表;

加工逻辑:

注册资料修改、发表贴子,回复贴。

(3)版主与信息处理系统之间

系统的输入数据流:

注册资料修改、发表贴子、回复贴子、友情链接维护、发布公告、管理版面贴子维护;

系统的输出数据流:

某篇贴子内容、会员列表、版主列表、版面列表、人气贴子列表、热门话题列表;

加工逻辑:

注册资料修改、发表贴子、回复贴子、友情链接维护、发布公告、管理版面贴子维护。

6系统主要功能详细设计

6.1模块的设计

基于JSP的通用网上论坛其系统定义部分采用面对对象的系统分析方法,并结合传统的结构化分析方化,设计出其系统模型,如果采用面向对象的程序设计语言开发系统,则可以很方便地从系统分析阶段平滑地过渡到设计阶段。

下面就部分模块实现做一下简要说明:

6.1.1系统主页面

这是网上论坛网站的首页,这个页面就是一个简单的登录页面,其中一些信息不用登录就可以看到,如果想要更多需求的话,是需要登录的,如果以前是本论坛的用户可以直接输入自己的用户名密码进行登录,如果是新用户想要进入的话,那就要先进行注册,在这里,也为新用户提供了注册页面。

6.1.2系统管理员和普通用户权限实现

管理员是本论坛权限最大的用户,所有的功能都可以实现,比如像是对发布论坛、用户资料的更改、用户禁启功能、用户的删除等等很多;而对于普通用户,他们则只是拥有一些基本的功能。

6.2JSP网页数据库的连接

本系统的数据库的连接其中也有需要手工来做的一些连接,在“开始”→“管理工具”→“数据源(ODBC)”里面进行配置,详细内容如图6-1所示。

数据库连接操作是一个相当频繁的操作,可以采用适当的技术来进行数据库连接优化,以提高数据库连接性能。

在JSP的数据库编程中,connection对象是不可能离开的一个对象,在对数据库进行任何的操作,比如更新记录,插入,删除,检索等,都必须借助于connection对象来完成。

形象地来说,connection对象就是程序与数据库沟通的管道,所有对数据库的操作,都必须经过它,因此,无论以何种方式连接数据库前,总是少不了执行下列的代码:

Connectioncon=yy.getConn();

Statementstmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

图6-1数据库连接

建立一个connection对象的实例变量,然后才能在它的基础上建立recordset对象或是command对象来操作数据库。

既然connection对象是如此的重要,那么如何优化和管理好connection对象对数据库程序来说是极其重要的,它关系到程序的性能。

每当一个客户执行数据库操作时,就需要借助一个connection对象,而每个connection对象就会占用服务器的一部分资源,而数据库的同时连接数不可能是无限的,因此。

在考滤要提供高性能的数据库Web程序时,需要考虑如何去减少服务器的开销。

一般来说。

每个JSP页面中建立一个connection对象,都会在服务器中产生一个对数据库的连接。

而不同的页面的connection对象是不能共享的。

那么。

可不可以使同一个用户所访问的不同页面共享一个connection连接通道呢。

Connectioncon=yy.getConn();

Statementstmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,

ResultSet.CONCUR_READ_ONLY);

sql="update用户表set用户密码='"+User_Password+"'wherewhere用户名='"+User_Name+"'";

stmt.executeUpdate(sql);

在这个数据库连接中,使用了session对象,首先,建立一个objDBConn的连接对象,然后连接到数据表userlist中,取得连接句柄后,把它保存在session("dbconn")这个session变量中,在打开记录集前,从session("dbconn")中取出句柄,借助于session对象。

可以使不同的JSP页面共用一个连接对象,减少了对服务器内存的开销,而也不需要担心,当一个客户因为错误操作导致服务器不能释放该被占用的session连接对象,因为每个客户的session对象是有一定的生存期限的,过了这个期限,服务器就会自动把它释放掉。

6.3系统模块的实现

6.3.1登录界面的实现

登录界面中主要显示了公告标题,公告内容,公告时间等内容,其中主要的代码实现如下:

<%

Connectioncon=yy.getConn();

Statementstmt=con.createStatement();

ResultSetrs=null;

Stringsql="select公告标题,公告内容,公告时间from公告orderby公告iddesc";

StringNotice="";

inti=0;

rs=stmt.executeQuery(sql);

//rs.last();

//if(rs.getRow()>0)

//{

while((rs.next())&&(i<5))

{

StringTime=rs.getString("公告时间");

Time=Time.substring(5,16);

Notice=""+rs.getString("公告标题")+":

"+rs.getString("公告内容")+" "+Time+"   "+Notice;

i++;

}

out.println(Notice);

%>

6.3.2论坛管理页面的实现

论坛管理页面主要显示了论坛id、论坛名称、版主姓名等内容,具体代码如下:

<%

Stringfid=request.getParameter("fid");

Connectioncon=yy.getConn();

Statementstmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

R

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

当前位置:首页 > 求职职场 > 简历

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

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