基于JAVA的校园BBS的设计与实现毕业论文

上传人:沈*** 文档编号:42564161 上传时间:2021-11-26 格式:DOC 页数:35 大小:524.02KB
收藏 版权申诉 举报 下载
基于JAVA的校园BBS的设计与实现毕业论文_第1页
第1页 / 共35页
基于JAVA的校园BBS的设计与实现毕业论文_第2页
第2页 / 共35页
基于JAVA的校园BBS的设计与实现毕业论文_第3页
第3页 / 共35页
资源描述:

《基于JAVA的校园BBS的设计与实现毕业论文》由会员分享,可在线阅读,更多相关《基于JAVA的校园BBS的设计与实现毕业论文(35页珍藏版)》请在装配图网上搜索。

1、安徽建筑工业学院 毕业设计(论文) 安徽建筑工业学院 毕 业 设 计 (论 文)专 业 信息与计算科学 班 级 06信息(2) 学生姓名 李宁 学 号 06207010220 课 题 校园BBS的设计与实现 指导教师 李义宝 二零一零 年 六 月摘 要在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。Internet上发布信息主要是通过网站来实现的,获取信息也是要在Internet“海洋”中按照一定的检索方式将所需要的信息从网站上下载下来。它已成为政府、企事业单位信息化建设中的重要组成部分,从而倍受人们的重视

2、,因此网站建设在Internet应用上的地位显而易见。构建校园论坛网站是为加强老师同学们之间的联系,通过网站,全面宣传,展示学校风采、优点与特色,发布学校的活动和重大安排。作为近年来日益普及和访问量日趋增大的BBS论坛,正越来越被大家所接受。随着BBS的发展,近年来BBS已成为大学校园内相互沟通与学习交流的常用工具。教学过程是一个知识传递、师生信息互动的过程,而由于BBS具有实时性、开放性和灵活的交互性等特点,因此BBS已成为很好的师生、生生交互和沟通的途径。本文是基于ASP.NET开发的校园BBS论坛系统,SQL SERVER作为数据库服务器。其中,着重研究ADO与ADO.NET、ASP与A

3、SP.NET,明确了采用ADO.NET和ASP.NET开发高性能要求的Web应用是可取的、先进的。接着文章将介绍论坛用户验证、数据库设计及MD5数据加密、分页技术等,让大家进一步了解这个系统。关键字:校园BBS;ADO.NET;ASP.NET;abstractToday , with the rapidly development , the Internet become the channel that people could have access to ,publish and disseminate important information , which plays an im

4、portant role in political, economic, and other aspects of life .Internet to publish information is mainly achieved through the website, access to information is download from the site down which could though the Internet sea in accordance with certain methods of retrieval of information needed . It

5、has become the important information technology components of the government, enterprises and institutions in order to attract peoples attention, so the construction site on the status of Internet applications is obvious. Building Campus Forum website is to strengthen the link between teacher and st

6、udents, through the website, we could have a comprehensive information display school style, excellence and characteristics of school activities and major publishing arrangements. As the popularity and increasing in recent years, BBS is increasingly being accepted by all.With the development of BBS,

7、 BBS has become a university campus in recent years, mutual communication and learning within the common communication tool. The teaching process is a knowledge transfer, the process of interaction between teachers and students information, and since BBS real-time, open and flexible interaction char

8、acteristics, so BBS has become a good teacher, life and life ways of interaction and communication.This article is based on the ASP.NET development systems of campus BBS forum and regard SQL SERVER as the database server. Among them, the focus is the ADO and ADO.NET, ASP and ASP.NET, ADO.NET and ASP

9、.NET .It is desirable and advanced by using the Web application development with clear performance requirements. Then the article will introduce the forum user authentication, database design and MD5 encryption, paging technology, so that we learn more about the system.KEYWORDS:campus BBS;ADO.NET;AS

10、P.NET;目 录第一章 绪 论11.1 研究背景11.2 问题的提出11.3 研究目的及意义2第二章 系统研究32.1 校园BBS概述简介32.2 校园BBS环境下的教与学4第三章 开发环境概述53.1 ADO.NET技术53.1.1 ADO与ADO.NET简介53.1.2 数据访问方式的历史53.1.3 ADO与ADO.NET对照63.2 ASP.NET技术73.2.1 ASP与ASP.NET比较73.2.2 ASP.NET的优点83.3 JavaScript脚本语言9第四章校园BBS系统设计与实现114.1基于.NET的三层Web体系结构114.2系统功能124.2.1概述124.2.2

11、系统整体架构134.2.3系统用例图144.3 数据库设计144.4 数据库连接及数据绑定174.5 用户验证184.6 加密技术194.7 文章分页技术214.8 在贴子中实现超文本信息输入224.9 运行效果26第五章 系统测试与运行环境275.1 系统测试275.2 系统维护27总结28致谢29参考文献3031安徽建筑工业学院 毕业设计(论文)第一章 绪 论1.1 研究背景随着信息化技术和网络技术的迅猛发展,人们获取信息的途径和学习的方法都发生了巨大的变化。社会在发展,科学在进步,而借助于信息技术的网络技术来进行教育、信息交流已成为社会发展的趋势。信息化教育的显著特点是:教材多媒化;资源

12、全球化;教学个性化;学习自主化;任务合作化;环境虚拟化;管理自动化。显然,从七个特点的内容看,信息化教育必然要求加强资源共享,加强学生和老师之间的信息交流。因为信息化教育必然引起教育方式、教学模式等方面的改革。这涉及教育的诸多方面,其中一个主要方面就是教师传授知识和学生获取知识的方式发生了变化,即知识流发生了变化,且具有资源共享、时空不限、多向互动的特点。然而随着信息化教育的不断发展,学生与老师、学生与学生之间的交流日趋减少,这严重影响着现在大学教育的发展。使得老师不知道学生学的怎么样、学生想学什么,学生对老师教授的课程没有兴趣、不清楚自己未来的发展方向等问题日趋严重。1.2 问题的提出从20

13、世纪90年代起,世界各国相继启动其面向21世纪的教育信息化建设工程。我国也在2001年发布教育信息化“十五”发展规划(纲要),提出用5到10年时问在全国范围内开展教育信息化建设,全面实施“校校通”工程。在我国,信息化建设的进程在教育行业迅速推进,“学校信息化”、“校园网”、“校校通”成为当前网络建设的热点。信息化教育是以现代信息技术为基础的全新教育形态,然而信息技术为教育带来一系列的革新,如服务于个别化学习、拓展了教育内容、丰富了教育方式等以促进学生与学校老师之间的沟通交流。但由于信息技术的广泛发展和互联网的普及,使我们的信息量空前浩繁,大量的、无序的信息混于学习、工作之中。产生这种现状的主要

14、原因在于没有一个专门性的门户对信息进行分类。BBS是Bulletin Board System的简称,意即电子公告牌。BBS是Internet上最知名的服务之一,提供了Internet上信息交流的强有力手段,是具有强大实时交互功能的信息交流平台。通过BBS,用户可以在BBS某个讨论区上提出问题,发表自己的见解,也可回复他人的问题,还可以针对某个话题和他人展开讨论等等。然而,现今流行的BBS大多是针对专业学术性的信息网站。1.3 研究目的及意义本论文的选题为“校园BBS系统的设计与实现”,即期望使校园BBS成为了大学校园内相互沟通与学习交流的常用工具。教学过程是一个知识传递、师生信息互动的过程,

15、而由于BBS具有实时性、开放性和灵活的交互性等特点,因此BBS是一条很好的师生、生生交互和沟通的途径。我们可以利用校园BBS系统来进行交互式教学,培养学生利用网络进行交互、协商、沟通,形成共识,分享成果的能力,形成批判性和创造性思维。即开发一个基于学生与老师交流、沟通的信息平台。在浏览论坛的过程中,学生可以交流自己在校学习和生活中的感受,同时还可以对现存学校教育、管理等方面内容提问。学校老师也可以在浏览论坛的过程中,针对学生提出的问题给予了解与解答,大大促进学生的发展。同时也让老师了解学生在想些什么。在校园BBS里的讨论者基本上都是在校大学生,大学生们较为关心的学习问题,把BBS作为获取专业信

16、息、解决学习问题的重要途径。由于大学课程学习的特殊性,强调学生的自主学习性。当遇到学习上的困难时,除了在课堂上请教老师、同学外,基本上没有集体讨论的时间。而在BBS上,他们可以提出问题,共同商量和讨论,还可以向其他老师、学长学姐们请教。同时,老师们可以利用BBS提供更多的学习信息,师生之间也可以在BBS上进行学术思想交流。第二章 系统研究2.1 校园BBS概述简介本论文研究的环境和平台是基于WWW的校园BBS系统,因此本论文仅限于校园BBS来研究BBS的发展、功能及特点。校园BBS是指在各校园网中设立的电子公告版系统,俗称“网上论坛”,是学生与老师信息交流的平台。随着校园网络的日益普及,校园B

17、BS将成为学生之间、学校与社会之间交流的信息平台。通过校园BBS,师生可以在BBS的某个讨论区上提出问题,发表自己的见解,也可回复他人的问题,还可以针对某个话题和他人展开讨论等等。通过BBS,用户可以参与讨论问题,查询感兴趣的信息,寻求帮助等等。校园BBS的广泛普及将随着中国教育和科研计算机网(以下简称CERNET)的建立和发展而同步发展起来,而且成为国内BBS的主流之一。1995年8月,清华大学BBS站“水木清华”开通,成为大陆第一个校园BBS站点,成为大学校园BBS发展史上的一个里程碑。1996年到1999年,随着互联网的迅猛发展,校园网建设也进入大跨步发展阶段,越来越多的老师和学生开始接

18、触网络并进入校园BBS系统。2000年至今,商业网站的热潮带动了校园网的发展。中国教育和科研计算机网的建设直接引导和推动了校园网的持续发展,到2002年底,CERNET拥有全国范围的光纤传输网,主干总容量可达40Gbps,覆盖我国近200个城市,有1000多所高校接入CERNET。随着校园网络建设的加快,校园BBS站点也越来越多,成了萃萃学子闲暇之余光顾的重要场所。校园网的发展壮大,使得各大学之间、大学与社会之间的交流更加方便。校园BBS是一种全网开放的服务,用户可以在BBS某个讨论区上提出问题,发表自己的见解,也可回复他人的问题,还可以针对某个话题和他人展开讨论等。讨论区中包括了各类学术讨论

19、区以及各类话题讨论区。在这些讨论区中,用户可以挑选自己感兴趣的话题去阅读或发表自己的见解和文章。文件共享区的作用是进行各种文件(程序、数据资料等等)交流的场所。这种交流类似于文件传输FTP功能,主要差异是它可以让普通用户将文件拷贝到这里,与其他用户共享。还有一些BBS站点提供其它的特别服务,如游戏、词典查询、日历查询、IP查询等。总之,BBS的功能在不断扩大,它是一个集学术讨论和休闲娱乐于一身的自由活动空间。CERNET建立以来,校园BBS很快地发展了起来,目前很多大学都有了BBS,几乎遍及全国上下。清华大学、北京大学、上海交大等等都建立了自己的BBS系统,清华大学的水木清华很受学生和网民们的

20、喜爱。综观国内校园BBS的发展,校园BBS可以归纳为以下特点:(1)发展迅速,站点众多;(2)讨论区全,信息面广;(3)访问流量大,校内用户占主要部分;(4)信息更新速度快;(5)立足服务校园生活。2.2 校园BBS环境下的教与学BBS是在信息时代的大背景下,将信息技术作为教师的教学辅助手段和学生学习知识的工具。教师“以人为本”转换自身角色,逐步的由知识的传授者、课程的组织者、教学的管理者,转变为BBS环境的创设者,课程内容的设计者,学生学习的指导者和合作者,新型教学方法的研究者。学生不应该只跟在老师后面学习知识,而应当成为BBS环境下的主动学习者。协作式学习,探究式学习,交互式学习,自我建构

21、式学习,是BBS环境下学生学习的主要特点。本校园BBS的目标是培养具有创新精神和实践能力,能适应信息时代知识经济要求的高素质人才。校园BBS为建构主义学习理论创造了理想的学习环境。建构主义理论认为,学习者获取的知识主要是学习者在一定的情境和社会文化背景下,根据自己已经掌握的知识,借助他人的帮助(包括教师和学习伙伴),利用必要的学习资料,通过意义建构的方式而获得的。建构主义强调学习者的认知主体作用,体现了以人为本的思想,但并不忽视教师的指导作用。教师是意义建构的帮助者,促进者,而不是知识的传授者与灌输者。教师的主要角色是:系统地指导学生的学习活动;对课程的结构、内容及教学媒体进行研究设计和优化;

22、作为学生学习的合作者参与讨论,启发学生的智慧,激发学生的学习兴趣;对学习效果进行评估。我国传统的教育思想受行为主义认知理论的影响,认为学习与内部心理过程无关,是教师对学生提供外部刺激引起的反应过程,学生在教师“填鸭式”的灌注下被动地认识、接受知识。目前在教学中老师基本上秉承了传统教育思想,要使教师适应校园BBS教学,一方面要加强对教师的信息能力培训,使教师逐步掌握现代教育技术,主动地研究新理论、新方法,积极地推行新的教学模式,探求更有效的教与学的结合点。另一方面教师需要更广泛地学习知识,成为真正意义上的学生学习的指导者。对于学生来说,他们是信息加工的主体和主动建构者,而不是知识灌输的对象。学生

23、在教师指导下充分利用大量的网上学习资源,通过自主、协作、互动、探究式学习夯实基础知识。按照这样的学习理论学生在接触新知识的同时,还要在大脑中建立起新旧知识的联系,实现知识重构促进知识迁移。学生通过网络也能够及时交流学习知识,用以弥补教学点的差异给学生带来的学习差异。在教学阶段,通过校园BBS环境下的教与学,教师和学生的信息意识均得到加强获取、检索、表达、交流信息的技能得以提高,信息加工和信息创造的能力得到锻炼,这也是一种良好的信息素养教育。同时,我们还要依托校园BBS建立起切实可行的教学评估体系,对学生的专业知识、实践能力、信息素养以及教师的教学水平做出综合评估,便于教师及学生看到成绩,找出差

24、距,不断提高。第三章 开发环境概述3.1 ADO.NET技术3.1.1 ADO与ADO.NET简介ADO与ADO.NET既有相似也有区别,他们都能够编写对数据库服务器中的数据进行访问和操作的应用程序,并且易于使用、高速度、低内存支出和占用磁盘空间较少,支持用于建立基于客户端/服务器和 Web 的应用程序的主要功能。但是ADO使用OLEDB接口并基于微软的COM技术,而ADO.NET拥有自己的ADO.NET接口并且基于微软的.NET体系架构。众所周知.NET体系不同于COM体系,ADO.NET接口也就完全不同于ADO和OLEDB接口,这也就是说ADO.NET和ADO是两种数据访问方式。3.1.2

25、 数据访问方式的历史 下面简单的回顾一下微软的数据访问方式所走过的几个阶段。 ODBC (Open Database Connectivity)是第一个使用SQL访问不同关系数据库的数据访问技术。使用ODBC应用程序能够通过单一的命令操纵不同的数据库,而开发人员需要做的仅仅只是针对不同的应用加入相应的ODBC驱动。 DAO - (Data Access Objects)不像ODBC那样是面向C/C+程序员的,它是微软提供给Visual Basic开发人员的一种简单的数据访问方法,用于操纵Access数据库。 RDO 在使用DAO访问不同的关系型数据库的时候,Jet引擎不得不在DAO和ODBC之

26、间进行命令的转化,导致了性能的下降,而RDO(Remote Data Objects)的出现就顺理成章了。 OLEDB 随着越来越多的数据以非关系型格式存储,需要一种新的架构来提供这种应用和数据源之间的无缝连接,基于COM(Component Object Model)的OLEDB应运而生了。 ADO 基于OLEDB之上的ADO更简单、更高级、更适合Visual Basic程序员,同时消除了OLEDB的多种弊端,取而代之是微软技术发展的趋势。 图 3. 1 ADO架构图表3.1.3 ADO与ADO.NET对照在开始设计.NET体系架构时,微软就决定重新设计数据访问模型,以便能够完全的基于XML

27、和离线计算模型。两者的区别主要有: ADO以Recordset存储,而ADO.NET则以DataSet表示。Recordset看起来更像单表,如果让Recordset以多表的方式表示就必须在SQL中进行多表连接。反之,DataSet可以是多个表的集合。ADO 的运作是一种在线方式,这意味着不论是浏览或更新数据都必须是实时的。ADO.NET则使用离线方式,在访问数据的时候ADO.NET会利用XML制作数据的一份幅本,ADO.NET的数据库连接也只有在这段时间需要在线。 由于ADO使用COM技术,这就要求所使用的数据类型必须符合COM规范,而ADO.NET基于XML格式,数据类型更为丰富并且不需要

28、再做COM编排导致的数据类型转换,从而提高了整体性能。 下面就是以图表的形式描绘了ADO.NET体系:图 3. 2 ADO.NET架构图表本系统采用ADO.NET技术,其中为了操作方便与安全数据操作大多采用存储过程实现。具体用到SqlConnection打开一个数据库连接,SqlComman 执行的一个 Transact-SQL 语句或存储过程,最后调用ExecuteNonQuery方法对连接执行 Transact-SQL 语句并返回受影响的行数。3.2 ASP.NET技术3.2.1 ASP与ASP.NET比较从一开始使用ASP,用户面临的问题就是:如果应用程序要有强大的功能,就需要编写大量的

29、代码,所有的功能都必须用代码来实现。虽然使用一些小技巧可以实现代码的共享,但是仍然存在大量嵌入HTML的代码,难于管理。这还只是一个表面现象。从更深的层次来研究ASP.NET,会发现ASP.NET与ASP之间的区别主要在于以下几个方面:(1) 效率ASP是一个脚本编程环境,只能用VBScript或者JavaScript这样的非模块化语言来编写。当ASP程序完成之后,在每次请求的时候解释执行。这就意味着它在使用其他语言编写的大量组件的时候会遇到困难,并且无法实现对操作系统的底层操作。由于它是解释执行的,所以速度和效率要远远低于编译执行的程序。而ASP.NET则是建立在.NET Framework

30、之上的,它可以使用Visual Basic、C#这样的模块化程序设计语言,并且它在第一次执行时进行了编译,之后的执行不需要重新编译就可以直接运行,所以速度和效率比ASP会提高很多。(2) 可重用性在写ASP应用程序的时候,ASP代码和HTML混合在一起。只要有需要,就可以在任意的一个位置插入一段代码来实现特定的功能。这种方法表面上看起来很方便,但在实际的工作中会产生大量繁琐的页面,很难读懂,导致代码维护很困难。虽然可以使用include指令尽量让程序模块化,但是仍然不是一个最终彻底的解决方案。而ASP.NET则可以实现代码和内容的完全分离,使得前面提到的问题迎刃而解。(3) 代码量ASP需要对

31、所有的要实现的功能通过编写代码来实现。例如,所有的ASP程序员都遇到过这样的情况:为了保证一个用户数据提交页面的友好性,当用户输入错误的时候会显示错误的位置,并尽量把用户原来的输入在控件中显示出来。这样的一个应用需要程序员编写大量的代码来实现。虽然它实在是一个非常简单的功能,但在其他的应用程序中根本不需要编写这么多的代码就可以实现。在ASP.NET中,我们会发现只要预先说明,这样的功能ASP.NET就可以自动实现。所以相对来说,要实现同样的功能,使用ASP.NET比使用ASP的代码量要小得多。3.2.2 ASP.NET的优点通过上面对ASP缺点的介绍,我们可以很容易地理解ASP.NET已经解决

32、了这些问题。事实的确如此,并且ASP.NET所提供的不仅仅是这些。下面是ASP.NET的4个主要目标: 使代码更清晰 提高可部署性、可伸缩性、安全性以及可靠性 为不同的浏览器和设备提供更好的支持 支持一种全新的Web应用程序但我们一般不会直接使用这些新特性,因为Common Language Runtime (CLR)会处理其中的大多数特性。ASP.NET的强大功能: 1. 多语言ASP曾在脚本引擎方面受到了限制,特别是VBScript和JScript。而.NET Framework本质上就支持多语言,因此我们可以使用任何需要的语言。在默认情况下,Visual Basic .NET、C#和JS

33、cript .NET都附带了CLR(它们都是经过编译的),另外还可以使用许多第三方语言,例如Perl、COBOL等。此外,Visual Studio .NET增加了对Visual C+的支持和Java实现(称为 J# .NET)。由于多语言支持是.NET Framework的一部分,因此不论使用何种语言都没有关系。很明显,从用户的观点来看,保持某种程度上的兼容性可能是最好不过的(例如仅仅为了维护),但对于架构而言,语言的使用是没有任何限制的。多语言支持的作用并不仅仅限于可使用什么语言,同时还在于如何使用这些语言。通过它可以用某种语言编写组件,而用另一种语言来使用(或重用)这些组件。比如用C#编

34、写基于服务器的控件,然后在Visual Basic .NET中继承这些控件,接着在JScript .NET (或任何.NET支持的语言)中继续继承这些控件。2. 服务器处理使用ASP的一大问题在于页面简单地定义了一个大函数,该函数开始于页面的开头,结束于页面的末尾。不管页面的内容是纯HTML还是ASP生成的HTML,它都是按照页面顺序显示的。因此,逻辑代码依赖于它在页面中的位置,并且无法将HTML控件作为目标,除非将它们作为流的一部分进行显示。我们所做的任何工作都需要编写代码,包括HTML元素的输出。而ASP.NET就解决了这个问题,方法是为控件引入一个声明的基于服务器的模型。这对ASP开发人

35、员来说是一个截然不同的概念,因为控件在服务器上声明,可以在服务器上编程,也可以是客户端驱动的事件。这听起来确实不可思议,但使用起来很简单。为把一个普通的HTML控件变成一个服务器控件,只需将runat=server作为一个特性添加到代码中。例如:这是一个标准的HTML控件,增加了runat特性后,就可以利用服务器端的代码对该控件进行编程了。例如,如果要将该控件置于一个窗体中,并且将该窗体提交回同一个页面中,就可以在服务器端代码中做以下修改:Dim PersonFirstName As StringPersonFirstName = FirstName.Text控件在服务器上运行,将允许我们使用

36、ID特性来直接识别它。这样代码就具有更高的可读性,原因在于不必引用窗体的内容或者将这些内容复制到变量中。同时直接引用控件也就更加自然了,从而使页面的开发更加简单。3.3 JavaScript脚本语言Script(脚本)是由一组可以在客户端浏览器上运行的命令组合而成的语言,可以把它想像成一个运行于客户端上的可执行程序。目前在网页编制上比较流行的脚本语言包括VBScript及JavaScript。它们都是一种与HTML语言相似的描述性语言,也是以文本形式存在,不像C语言或Java语言那样,需要编译连接成字节码形式的可执行程序。Script语句可以单独存成文档,也可以被嵌入到HTML的文件之中,与H

37、TML语句结合在一起。当需要将Script语句直接加入到HTML文件中时,只要使用一个HTML标记符号即可。例如: temp var i = 10;document.write (i);This is a JavaScript example.另外,Script程序在HTML中的位置也比较自由,它可以在HTML文件中的任何位置。脚本语言是一种解释性语言,可以直接由浏览器来解释执行。并且可以直接访问浏览器中的各种对象,如窗口对象、文档对象、框架对象、超链接对象等。脚本语言可以实现的功能很多,可以用于定义网页、在网页中加入动画、对网页中的各种元素进行处理,特别是在处理表单方面有很强功能。不仅如此,

38、它还可以很方便地控制浏览器中的各对象的属性。例如,可以实现打开或关闭浏览器窗口、设置窗口状态、改变窗口中的超链接位置等。总之,一些常用的功能都可以用脚本语言实现。Java语言的功能很强大,在网页设计中非常的有效,但是它要求创建APPLET的人员必须是程序设计员。Sun Microsystems(太阳微系统)公司为了消除对于WEB站点的开发人员的特殊要求,专门发布了JavaScript。JavaScript脚本语言是一种解释性,基本对象的脚本语言。虽然,它没有那些真正意义上的面向对象语言那么多的特性,但是对于它的预期功能而言,它能够实现的功能已经够大了。Javascript并不是任何一种语言的删

39、节版(它只是与Java语言的关系很接近),它也不是任何一种语言的简化版。然而,它的使用是有限的。不能使用它创建一个独立的应用,比如,它几乎不能进行文件的读写。此外,Javascript脚本只能运行在解释性语言的环境下,或是WEB服务器和WEB浏览器上。Javascript是一种比较随意的语言,这就并不意味着不一定必须明确地声明变量的类型。此外,在很多情况下,Javascript脚本语言在需要的时候可以进行自动转换。JavaScript是Java与HTML结合的产物,HTML文档中可以嵌套JavaScript命令,但是JavaScript语句不需要编译,浏览器可以直接执行JavaScript语句

40、。利用JavaScript结合CCS可以创建交互能力很强的WEB界面。开发设计得BBS系统中就运用了脚本语言,来完成表单提交前的数据验证任务通过使用脚本语言既防止了大量错误数据被提交到服务器,进而节约了宝贵的系统资源;也使网页更加美观、操作更加方便。大大提高了系统的性能。第四章校园BBS系统设计与实现4.1基于.NET的三层Web体系结构三层体系结构将Web应用程序分成三个不同的逻辑层次:表示层,中间层(应用逻辑层)和数据层。采用“浏览器Web服务器数据库系统”的三层结构模型具有网络通讯量小、易于维护和扩展、支持异构数据库等特点,从而满足了目前信息网络的要求。三层结构的模型图如图 4. 1 三

41、层结构模型所示:数据库服务器(数据逻辑)Web服务器(应用逻辑)前台模块(用户界面)表示层 中间层 数据层图 4. 1 三层结构模型目前,流行的三层Web体系结构主要有基于的OMG的CORBA、基于微软COM+和基于SUN公司的RMI的分布式三层体系结构。这些的三层结构存在着许多缺陷,如互操作性能差、难于跨平台运行等。Microsoft.NET是创建可互操作的分布式应用程序的新平台,客户端和服务器间能够自由地用HTTP进行通信,不论两个程序的平台和编程语言是什么,应用程序间通信不受现有Proxy和防火墙的限制,真正做到了能跨平台、跨语言。基于.NET的Web三层体系结构如图 4. 2基于.NE

42、T的三层Web体系结构图所示:.NETWeb ServicesASP.NET ADO.NETC#,VB (DataSet)数据库服务器浏览器Browser表示层 中间层 数据层图 4. 2基于.NET的三层Web体系结构图1)表示层在表示层中,.NET是由ASP.NET Web Forms来实现的。基于服务器端的动态页面技术,可以在服务器端根据客户端请求和提交的信息,动态地生成与客户端浏览器类型无关的通用页面,也可HTML以根据客户端浏览器类型,生成特定的数据表现形式,因此这里的表示层是指面向浏览器的表示层。Web Forms控件负责生成用户接口。它提出了一种将应用程序代码和用户接口内容分离的

43、更加结构化的方法,使ASP.NET网页能动态地编译到类中,用以提高性能。每个引入的HTTP请求都被传递到一个新的网页实例,因此开发人员不需要关心代码中的线程安全性。ASP.NET Web Forms框架起到了如下作用:l 建立和使用可重用的用户界面控件,封装常用的功能,减少页面书写代码的工作量;l 给开发者提供结构清晰、风格井然的页面逻辑;l 强大的所见即所得(WYSIWYG)的页面开发工具;l 使用任何支持的编程语言(例如现阶段支持的C、VB、VC、Jscript)进行开发,不同语言的ASP.NET代码将是可以互操作的。2)中间层在应用逻辑层,分布式业务组件负责企业应用的商业逻辑部署。由于这

44、些业务组件经常负责处理数据库连接、网络资源、线程等高昂的资源,因此一直是三层多层架构的关键和企业应用的核心。.NET平台内建了对Web的支持。Web Services是基于网络、分布式的模块化组件,它执行特定任务,遵守具体的技术规范,这些规范使得Web Services能与其他兼容的组件进行互操作。3)数据层.NET框架使用ADO.NET完成对数据库的访问。在创建基于Web的应用程序时我们在ASP.NET中使用ADO.NET技术通过网络和Web进行数据访问.ADO。.NET技术是一个基于标准的、面向创建分布式数据共享应用程序的编程模型,是ADO技术延伸和发展,带来了比ADO技术更为优越的互操作

45、性、可维护性、司编程性和更出色的性能。ADO.NET包含了所有允许数据处理的类,这些类拥有典型的数据访问功能(如索引、排序和视图)的数据容器对象。在需要断开连接访问远程数据的解决方案中,ADO.NET使用XML在程序和网络之间实现数据交换。任何能够读取XML数据的组件都能处理ADO.NET组件。用XML格式的数据集传送信息,是开发者能够轻易地把处理数据的部分和用户界面的部分分别放在不同的服务器上。因此,它能够极大地提高性能和增强支持多用户系统的可维护性。ADO.NET还为基于Web的数据分享应用程序提供了极大的可伸缩性。Web应用是当今分布式应用最广泛的应用方式。基于.NET的三层结构在Web

46、中的应用显著提高了应用程序的跨平台性和互操作性,增强了系统的灵活性、开放性。因此,我们将这一项新兴技术应用到课题的研究中。4.2系统功能4.2.1概述本校园BBS论坛采用基于.NET的Web三层体系结构:表示层、中间系统处理层(Web服务器)和数据层(网页库、讨论资料和学习记录资料库)。前台应用即表示层功能,包括登录与注册、教学互动、分类讨论、资源共享等,后台管理包括安全管理、帖子管理、公告管理、板块管理、用户管理、数据统计等。BBS论坛中的帖子、附件等都直接存储到数据库,通过SQL语言实现信息挖掘。我们采用数据库来存储BBS系统中的信息,因为数据库存储相对简单且高效,能够对BBS进行更好的控

47、制,也能够对资料提供一些验证和保护。本论坛的开发为了BBS系统在校园中得到更多的实践与应用,以求促进信息化教育的发展。师生利用论坛进行课程的教与学,充分利用论坛的教学资源库以求实现学习效果与教学质量的提高。学生可以通过在论坛中交流与讨论,以实现问题的解决和知识的获取,培养学生创新能力与合作精神;教师可以通过论坛来进行讨论、经验分享及反思教学经验,以促进科学教师的专业教学知识与技能。目前本系统已经初步体现知识管理的思想,构建了一个教学资源库,随着系统的功能不断完善,必将使资源库成为一个知识库,通过社区众多用户与学习者的互动交流,最终达到知识共享与知识创新。4.2.2系统整体架构校园BBS系统包含

48、“用户功能”和“后台管理”两大模块,用户功能模块包含:登录与注册、教学互动、分类讨论、帖子管理等子模块;后台管理模块包含:安全管理、帖子管理、公告管理、板块管理、用户管理、数据统计等子模块。下面给出系统的整体架构图如图 4. 3 整体架构图所示。浏览者用户注册登录管理板块浏览板块管理用户发帖浏览帖子回帖管理帖子管理员图 4. 3 整体架构图系统存在着两种用户:注册用户和管理员。用户的权限是向下覆盖的,即上级权限包含下级权限,在我们的论坛中,管理员的权限是上级权限。管理员具有系统的最高权限,包括系统的用户功能与后台管理的全部权限。4.2.3系统用例图通过系统整体架构进行分析,我们已经了解系统所具

49、有的整体功能,下面对帖子、板块和用户等对象的相关方法进行分析,给出相关用例图如下。用户管理员浏览帖子编辑帖子回帖管理帖子编辑删除发帖置顶图 4. 4 帖子管理用户管理员修改个人信息注册登录管理用户设置权限添加删除图 4. 5 信息管理4.3 数据库设计本系统采用SQL Server 2005作为后台数据库,数据库设计包括建数据库、建表、关系、储存过程、触发器等。根据对系统模块功能的详细分析,我们设计出以下数据库表,如表 4. 1 数据库表所示:表 4. 1 数据库表序号表名说明1Articles帖子信息表2RestoreCard回复信息表3Cataloges一级版块4UserInfo用户基本信

50、息5Grade权限值与权限对应6UserDetail用户详细信息7Classes二级版块8News首页新闻(公告)下面是主要表格设计:表 4. 2用户基本信息表(UserInfo):字段名类型长度是否为空是否主键备注UserIDint2否是用户编号UserNamenchar(10)10否否用户名UserPwdnvarchar(100)100否否用户密码UserGroupint2否否用户组表 4. 3用户详细信息表(UserDetail):字段名类型长度是否为空是否主键备注UserIDint2否是用户编号NickNamenchar(10)10是否用户昵称Scoreint2否否用户积分UserSe

51、xchar(2)2否否用户性别PwdQuestext否否密码提示pwdAnswertext否否提示答案HeadImgtext否否用户头像Intrtext否否自我介绍LogInSumint2否否登录次数RegTimedatetime否否注册时间LastLogindatetime否否最后登录表 4. 4一级版块表(Cataloges):字段名类型长度是否为空是否主键备注CatalogIDint2否是版块IDCatalogNamenvarchar(100)否否版块名CatalogManagerint2是否管理员IDCatalogIntrtext否否版块介绍表 4. 5二级版块表(Classes):字

52、段名类型长度是否为空是否主键备注ClassIDint2否是版块IDClassNamenvarchar(100)否否版块名ClassIntrtext否否版块介绍ClassImgtext否否版块图片CatalogIDint2否否附属版块ClassMangerint2否否管理员表 4. 6帖子表(Articles):字段名类型长度是否为空是否主键备注ArticleIDint2否是帖子IDClassIdint2否否附属版块ArticleNamenvarchar(100)否否主题名ArticleTexttext否否主题内容Authorint2否否发帖人RestoreSumint2否否回复数SeeSumi

53、nt2否否查看数EditTimedatetime否否编辑时间表 4. 7帖子回复表(RestoreCard):字段名类型长度是否为空是否主键备注CardIDint2否是回复IDCardInfoText否否回复内容ArticleIDint2否否附属帖子floorint2否否楼数FromUserint2否否回复人IDRestoreTimedatetime否否回复时间表 4. 8用户组表(Grade):字段名类型长度是否为空是否主键备注GradeIDint2否是用户组IDGradevalueint2否否权限值GradeItemnchar(10)10否否用户组名4.4 数据库连接及数据绑定本论坛采用w

54、eb.config文件保存连接字符串: 系统数据库操作大部分采用存储过程实现,这样可以避免数据丢失或着数据混乱。首先采用.NET提供的SqlConnection类打开数据库,然后打开SqlCommand对象对 SQL Server 数据库执行的一个 Transact-SQL 语句或存储过程,利用SqlCommand的CommandType可获取或设置一个值,该值指示如何解释 CommandText 属性。如cmd.CommandType = CommandType.StoredProcedure;即可设置SqlCommand对象以存储过程的名称解释传入SqlCommand对象的值。然而ADO.

55、NET提供了一种更加简介灵活的数据库访问方式,断开式数据库连接访问。这种断开式访问是把数据库一次性复制到内存中,用户可对内存中数据库进行一系列操作,最后调用Update方法将数据和更新一并传回数据库。下面是利用断开式访问方式对绑定数据库: /绑定帖子数据 private void Notedatabind() string sqlcon = ConfigurationManager.ConnectionStringsSqlCon.ToString(); string cmd = select * from Articles as a,UserDetail as ud,UserInfo as u

56、i where a.Articleid = 1 and ui.UserName = a.Author and ud.UserID = ui.UserID; DataTable dt = new DataTable(); using (SqlDataAdapter sda = new SqlDataAdapter(cmd, sqlcon) sda.Fill(dt); Note.DataSource = dt; Note.DataBind(); 4.5 用户验证验证控件检查用户在 TextBox 控件中的输入是否符合要求。在窗体发送到服务器时会发生验证。验证控件可测试用户的输入内容,如果输入没有通

57、过任何一项验证测试,则 ASP.NET 会将该页发回客户端设备。发生这种情况时,检测到错误的验证控件会显示错误消息。如图所示:图 4. 6 用户注册验证控件又分为用户体验层验证和服务器端验证,用户体验层验证主要体现为对用户输入的格式是否正确给予用户提示,如格式输入不能为空或者两次输入不一致等情况。而服务器端验证主要是对用户输入的信息与服务器中数据进行比较才进行的验证,如当用户输入帐号时需要验证帐号是否已存在,这时候就需要连接服务器端数据库,然后将数据读取到本地与用户输入的信息进行比较。下面是用户自定义服务器端验证:protected void CustomValidator1_ServerVa

58、lidate(object source, ServerValidateEventArgs args) string strName = args.Value; if (Judge(strName) args.IsValid = false; else args.IsValid = true; private bool Judge(string strName) string connstr = ConfigurationManager.ConnectionStringsSqlCon.ToString(); SqlConnection con = new SqlConnection(conns

59、tr); con.Open(); SqlCommand cmd = new SqlCommand(select count(*) from UserInfo where userName= + strName + , con); int count = Convert.ToInt32(cmd.ExecuteScalar(); con.Close(); if (count 0) return true; else return false; 4.6 加密技术使用md5对密码加密,增强系统的安全性,并为以后的工作做好前提基础。不仅对用户实行的保密措施,更增加了该项目的价值筹码。在金融、房地产、银行等需要加密的货款以及重要信息方法,

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!