《984724407毕业设计(论文)基于asp的留言板设计与实现.doc》由会员分享,可在线阅读,更多相关《984724407毕业设计(论文)基于asp的留言板设计与实现.doc(28页珍藏版)》请在三一办公上搜索。
1、常州机电职业技术学院毕业设计(论文)说明书作 者: 王超 学 号: 50711326 系 部: 信息工程系 专 业: 计算机网络技术 题 目: 基于asp的留言板设计与实现 指导者: 史二颖 评阅者:2010年 4月 毕业设计(论文)中文摘要随着计算机的广泛应用,人们已经对网络不再感到陌生。在科技飞速发展的今天,电脑信息技术与各行各业进行了有效的结合。人们在网上可以进行网上购物,网上交友,电子商务,网络营效等等。面对强大的网络功能,必须在某方面要有一个健全的系统才能使网络发挥的淋漓尽致。在这个平台上,留言提供了一个全新的人类沟通新方式。 互联网技术的不断发展和普及,使构造互联网站、开发网络应用
2、程序已经成为当前的热门技术之一。BBS留言是Internet的重要应用之一,开发网上交流软件,现已有很多工具和方法,各种技术都具有其特色和长处。针对网上BBS留言的特点,文章叙述了在Windows环境下,利用Access 创建数据库,运用ASP和IIS等开发工具,设计基于B/S方式运行的BBS留言系统的原理及过程。 关键词: 留言板 ASP 数据库 Access毕业设计(论文)外文摘要Title: Asp-based design and implementation of message boards Abstract:With the wide application of compute
3、r, people are no stranger to the network. Today the rapid development in technology, computer information technology and industries were effectively combined. It is available to online shopping, online dating, e-commerce, Internet business efficiency and so on. The face of strong network function, m
4、ust in some way have a sound system to the network play the most. In this platform, the Forum provides a new way of human communication and new. Internet technology continues to evolve and spread, so that structure websites, web application development has become one of the most popular technology.
5、BBS Forum is an important application of Internet, online communication software development, now there are many tools and methods, a variety of techniques has its own characteristics and strengths. BBS Forum for the online feature, the article describes the Windows environment, use Access to create
6、 databases, use of ASP and IIS and other development tools, design is based on B / S run the BBS forum systems theory and process. Key words: message boards ASP Database Access目 录1 绪论12 系统分析与设计22.1需求分析22.2模块设计32.3数据库结构设计53 系统开发环境63.1MVC三层构架63.2开发工具简介63.2.1 ASP简介63.2.2 IIS简介73.2.3 Access简介73.3开发模式84
7、系统详细设计84.1创建与连接数据库94.1.1数据库表的设计94.1.2数据库的连接94.1.3 数据添加114.1.4 数据删除114.2 留言信息页面的设计124.2.1建立查看留言相关页面124.2.2建立发布留言相关页面134.3留言管理页面设计144.3.1建立管理员登录界面144.3.2建立版面管理相关页面154.3.3建立参数设置相关页面165 系统调试205.1配置运行205.2调试过程216 总结22致 谢23参考文献231 绪论随着现代化技术的不断进步,人们发现交流的范围还是很小,不能满足更大范围人的需要,这样就出现了利用因特网在全球发布信息的留言BBS。BBS是电子公告
8、板(Bulletin Board System)的简称,它是最常见的Web应用系统。BBS起源于20世纪80年代,最初,留言只是用于发布公告系统,讨论问题的在线交流平台;后来,随着网络的普及,留言的功能越来越丰富,受到广大网民的欢迎。企业、学校等单位可以利用网上的留言发布公告、通知等。本系统采用MVC(Model-View-Controller)三层构架开发模式,在这种设计模式下,一个应用被分为三个部分:模型、视图和控制,每个部分负责不同的功能。模型是指应用程序的数据,以及对这些数据的操作;视图是指用户界面;控制负责视图和模型之间的同步,也就是说,根据用户界面的操作完成对程序数据的更新;将程序
9、数据的改变及时反应到用户界面上。通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现,这些组件可以进行交互和重用。对于大量的信息,采用数据库技术,在系统中数据组织应用关系模型。对数据库的访问,本系统使用数据库连接池,在系统初始化时启动文件中配置的数据的连接,如果程序需要链接,则从此池中取出一个连接使用,使用完后又返回给该池,这些连接可以复用,提高了效率。该系统采用ASP实现BBS留言系统。在开发过程中实现了留言系统的部分管理,并且对留言的页面布局进行详细设计,使页面美观,体现所有功能;还有对系统管理页面的设计,使管理员能更方便清楚的进行用户管理、页面管理等。最后,该留言将会是一个功
10、能强大、美观方便、畅所欲言的“公共场所”。2 系统分析与设计2.1需求分析开发一个留言系统,首先需要确定留言的功能是什么,也就是用户想要的留言所能做的工作。用户使用留言是按照一定的流程来进行的:用户注册登录进入留言,可以就某个话题展开讨论,通过留言功能发布新的话题,通过回帖的功能回复已有的话题;管理员要管理留言,系统需要具有的功能有创建、删除留言的版块,管理注册的用户,管理留言,设置留言基本参数。这样的流程就决定了留言所应具有的功能,留言功能流程如图1.1所示。 浏览者用户管理员登录注册浏览版块搜索浏览留言回帖管理留言发帖管理用户版块管理 图2.1 留言功能流程图 通过上面的分析,总结留言的功
11、能有以下几项: 留言版块列表;浏览留言;发帖回帖;编辑留言;删除留言;用户注册;用户登录;控制用户权限;修改注册信息;设置留言参数;管理版块;管理用户。观察留言所有功能需求,按不同实体分类,可以分为四类实体对象:版块、留言、用户和留言。这四类对象,可以设计为四个数据实体,如果使用数据库存储它们,即可以设计四个基本数据表的集合来存储这些实体的基本信息;它们可以设计为四个基本表,映射四个实体的基本数据。这些基本对象只是留言系统中最为基本的要素,对于一个完整的留言还需要其它相关的表来记录相关的信息,即实体之间的相互关系信息。 留言一般存在两种用户,注册用户和管理员。用户的权限是向下覆盖的,即上级权限
12、包含下级权限,在这个留言中,管理员的权限是上级权限。留言系统的用户浏览信息功能,是用户讨论问题的平台,发帖、浏览、回帖一直贯穿用户的整个活动。同时,由于留言系统的留言管理是管理员在留言浏览时进行的,因此编辑、删除等功能也安排在浏览信息时实现,只是一般用户没有权限做这些动作。其它与管理员相关的功能,包括版块管理、用户管理和留言设置的都是需要管理员在管理模块进行操作。下面就管理员所做的管理进行介绍: 查看留言:任何用户可以根据发言者留下的邮箱地址发邮件。删除留言:如果用户发表了不符合留言规则的留言,则需要管理员删除这些留言。管理版块:留言版块需要先创建,才能被使用,管理员还可以删改版块的相关信息。
13、设置参数:留言一般有一些初始化信息,比如留言名称、每页显示留言数量等参数信息,管理员可以在后台界面自行设置。2.2模块设计从上一节需求分析可以知道,留言功能分为用户使用的基本功能和管理员管理系统的功能两类,因此模块设计也分为两大类。留言的模块体系图如图1.2所示。留言系统页面模块管理模块留言设置模块管理用户模块管理版块模块登录模块浏览模块发帖回帖模块 管理留言模块图2.2 留言的模块图BBS系统包括以下主要功能模块:(1)登录功能模块:用户个人注册、登录,管理员登录;(2)浏览功能模块:用户浏览版块、浏览主题帖列表、查看留言;(3)发帖回帖功能模块:用户发帖,管理员回帖;(4)留言管理功能模块
14、:管理员编辑、删除;(5)留言设置功能模块:管理员设置留言参数; (6)用户管理模块:管理员添加、删除。用户注册、登陆以及修改个人的注册信息组合成注册登录模块;用户浏览版块、浏览主体帖列表、查看留言组合成浏览模块;用户发帖;管理员编辑留言、删除留言。以上四个模块组成用户使用的基本功能模块。扩展功能模块都是与管理员相关的,设置留言参数单独为留言设置模块;创建、修改和删除版块为管理版块模块;删除和回复为管理用户模块。从以上分析,可以得到留言的功能框架,即系统的各个部分已经确定,对于留言系统来说,各个模块之间用一条主线串联起来,才能构建完整的系统。联系各个模块的主线是使用者的权限,用户能使用留言的哪
15、些功能是由用户的权限决定的。留言的每个功能都与相应的权限相对应。同一类用户使用的功能模块,是以使用者为中心连接起来的。另外,操作同一类事物的功能模块,也是有相互关系的。因此,浏览模块与发帖回帖模块、管理留言模块关联,是由留言的系统流程决定的。而管理版块模块与浏览模块关联,是由留言与版块的父子关系决定的,留言附于版块,先有版块,后有留言,留言必须发表在某个版块中。还有管理用户模块与注册登录模块关联,是由同一类对象(用户)决定的,用户注册后获得留言的身份,成为用户,所有的用户需要接受管理员的管理,用户登录证明自己的留言中身份。由此,设计出留言系统的整体框架,如图1.3所示。图2.3 留言整体架构图
16、2.3数据库结构设计该系统的实体有:管理员信息实体、用户信息实体、留言实体、版面信息实体。实体之间的E-R图如图1.4所示。管理留言设置留言参数管理员用户留言注册登录浏览留言图2.4 实体间的关系E-R图考虑到将来功能上的完整性,设计如下面所示的数据项和数据结构:用户信息:包括数据项有用户名、密码、头衔、头像、用户等。留言信息:包括数据项有所属版面、父留言的编号、子留言的编号、用户、主题、内容、发表时间等。基于上面的内容,设计了下列表,这些表之间相互关联,共同存储着系统所需要的数据。在设计数据库表的过程中,一般要遵循几条原则:数据库设计一个表最好只存储一个实体或对象的相关信息,不同的实体最好存
17、储在不同的数据表中,如果实体还可以再划分,实体的划分原则是最好能够比当前系统要开发的实体的复杂度小;数据表的信息结构一定要合适,表的字段的数量一般不要过多;扩展信息和动态变化的信息一定要分开在不同的表里;多对多这样的表关系尽量不出现等。留言版面表note_comment: 记录所有的留言版面的信息。版块表note_comment2:版块信息。后台留言配置表note:对留言的某些信息进行配置,如留言URL地址、公司名称、主页URL地址等,进行这些设置是为了尽可能最大地利用使用有限的资源,同时更有效地管理留言,对访问留言的用户量信息也有一个很好的记录。用户表users:记录了用户的基本且必要的信息
18、。管理员表note_admin:记录了管理员账号、密码、回复。设计数据表间的关系为双层对应,就是简单的针对某一留言管理员进行回复至此,留言系统的架构部分设计完成了,有了具体的数据库结构设计和系统功能设计,就确定了系统的数据基础和功能架构。3 系统开发环境3.1MVC三层构架MVC是Model-View-Controller的简写,“Model”代表的是应用的业务逻辑,“View”是应用的表示面,“Controller”是提供应用的处理过程控制,通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。3.2开发工具简介3.2.1 ASP简介ASP是Activ
19、e Server Page的简写。ASP技术能让Web开发员和网页设计员快速地开发容易维护的动态Web主页。ASP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。ActiveX Data Oject(简称ADO)技术与ASP结合使用,可以具备存取数据库的功能, 主要实现三方面的功能:建立与数据库的连接,执行SQL声明以及处理SQL执行结果。3.2.2 IIS简介IIS是Internet Information Server的缩写,它是微软公司主推的服务器,IIS与WindowNT Server完全集成在一起,因而用户能够利用Windows
20、 NT Server和NTFS(NT File System,NT的文件系统)内置的安全特性,建立强大,灵活而安全的Internet和Intranet站点。IIS支持与语言无关的脚本编写和组件,通过IIS,开发人员就可以开发新一代动态的,富有魅力的 Web站点。 IIS完全支持VBScript,JScript开发软件以及Java,它也支持 CGI和WinCGI,以及ISAPI扩展和过滤器。IIS的一个重要特性是支持ASP。IIS 3.0版本以后引入了ASP,可以很容易的张贴动态内容和开发基于Web的应用程序。对于诸如VBScript,JScript开发软件,或者由 Visual Basic,J
21、ava,Visual C+开发系统,以及现有的CGI和WinCGI脚本开发的应用程序,IIS都提供强大的本地支持。3.2.3 Access简介Access是Office系列软件中用来专门管理数据库的应用软件。所谓数据库是指经过组织的、关于特定主题或对象的信息集合。数据库管理系统分为两类:文件管理系统和关系型管理系统。Access应用程序就是一种功能强大且使用方便的关系型数据库管理系统,一般也称关系型数据库管理软件。它可运行于各种Microsoft Windows系统环境中,由于它继承了Windows的特性,不仅易于使用,而且界面友好,如今在世界各地广泛流行。它并不需要数据库管理者具有专业的程序
22、设计水平,任何非专业的用户都可以用它来创建功能强大的数据库管理系统。3.3开发模式网站建设目前主要有两种基本的开发模型:两层模型、三层模型。B/S结构是真正的三层结构,它以访问WEB数据库为中心,HTTP为传输协议,客户端通过浏览器(Browser)访问WEB服务器和与其相连的后台数据库,我们称之为B/S(Browser/Server)模式。其三级结构组成如下图所示:客户端客户端后台数据库WEB服务器图3.1 开发模式图图中从左到右,分为三个层次:第一层是客户端即浏览器,主要完成客户和后台的交互及最终查询结果的输出功能。在客户端向指定的Web服务器提出服务器请求,Web服务器用HTTP协议把所
23、需文件资料传给用户,客户端接受并显示在WWW浏览器上;第二层Web服务器是功能层,完成客户的应用功能,即Web服务器接受客户请求,并与后台数据库连接,进行申请处理,然后将处理结果返回Web服务器,再传至客户端;第三层数据库服务器是数据层。数据库服务器应客户请求独立地进行各种处理。与传统的C/S模式相比,B/S结构把处理功能全部移植到了服务器端,用户的请求通过浏览器发出,无论是使用和数据库维护上都比传统模式更加经济方便。而且使维护任务层次化:管理员负责服务器硬件日常管理和维护,系统维护人员负责后台数据库数据更新维护。4 系统详细设计 留言拥有大量的数据,这就需要对这些数据进行存储和管理建立数据库
24、。因为当留言的在线用户很多时,就会出现“瓶颈”现象,造成阻塞,这里应该创建连接池来提高利用率。数据库建立成功后就应该进行具体的系统设计。然后,将进行留言信息页面的设计,包括主页面、发布留言相关页面等,是显示在留言页面,可以由用户(包括用户)以上级别的浏览者看到;最后,进行留言管理页面的设计,这是只能由管理员进行操作的页面,管理员会对留言进行安全、有条理的管理。4.1创建与连接数据库4.1.1数据库表的设计设计数据库表的字段时,需要充分考虑到留言的应用特点。数据库表的设计要求简单易于理解,扩展性好。 其中记录留言发表文章的数据库表note_comment主要有以下的以下几个描述字段: subje
25、ct留言主题 Name: 发贴者姓名 Comment: 留言内容 Email: 邮箱地址 url: 主页 communication 其他联系方式 IP IP 地址 PostDate 留言提交时间4.1.2数据库的连接Access是文件型数据库,一个文件就是一个数据库,可以利用ASP中的语法直接连接。在连接数据库之前,必须先声明一个对象来当作数据库与ASP程序之间的媒介,具体连接方式如下:set rs=Server.CreateObject(ADODB.RecordSet)创建RecordSet 对象 rs.open select * from note_comment order by id
26、 desc,conn,1,3 从数据库中读取留言,并保存在rs 中if rs.eof and rs.bof then 不存在留言记录response.redirect book_write.asp 转到撰写留言页面else 存在记录if counts=0 or counts= then counts=10每页留言条数 rs.pageSize = counts每页记录数allpages = rs.pageCount总页数page = Request(page)从浏览器取得当前页 If not isNumeric(page) then page=1 page不是数字if isEmpty(page)
27、 or Cint(page) = allPages then page 值大于总页数page = allPages end if rs.AbsolutePage = page转到某页头部 Do While Not rs.eof UserName=rs(Name)用户名 Comments=rs(Comment)内容 Reply=rs(Reply)回复 Usermail=rs(Email)邮件 url=rs(Url)主页 replyname = rs(ReplyName)回复人姓名I=I+1留言序号temp=RS.RecordCount-(page-1)*rs.pageSize-I+1 % 在打开
28、数据库并完成相应的操作后,应关闭数据库连接。当不再需要连接时将其关闭,可以减少对数据库服务器的要求并可以使其他用户能够使用该连接。用Connection对象的Close方法终止Connection对象和数据库之间的连接。下面的脚本打开连接,然后将其关闭:4.1.3 数据添加rs.Addnew添加一条记录rs(Name)=Request.Form(username)姓名rs(Comment)=Request.Form(comments)留言内容rs(Email)=Request.Form(usermail)邮箱地址rs(url)=Request.Form(url)主页rs(Communicati
29、on)=Request.Form(communication)其他联系方式rs(IP)=Request.serverVariables(REMOTE_ADDR)IP 地址rs(PostDate) = now()留言提交时间rs(Subject) = Request.Form(subject)留言主题rs.Update更新数据库4.1.4 数据删除sub delfeedback()留言删除if delid= or isnull(delid) then要删除的记录id 为空则给出提示response.write alert(操作失败,没有选择合适参数,请单击“确定”返回!);response.re
30、direct admin_main.asp返回到留言管理界面response.endelseid 存在执行数据库中的删除操作,删除数据库中id 列的值在delid数组中的记录conn.Execute(delete * from note_comment where ID in (&delid&)删除成功,给出提示response.write alert(留言删除成功,请单击“确定”返回!);response.redirect admin_main.asp返回到留言管理界面response.endend ifend sub4.2 留言信息页面的设计4.2.1建立查看留言相关页面图4.1 浏览留言
31、页面图留言是留言的主要交流内容,是用户-网页-用户之间交流的必要手段,在留言的列表中,第一列“状态”,主要是根据图标来显示留言所处的状态,这些状态在页面最底部有图例表示,接下来一列是留言的主题,留言的主题前面有加号图标的可以展开,点击留言主题可以预览留言的内容。之后是留言的作者,即发帖人。回复和人气分别记载了回复的留言的数量和浏览过的人数。最后更新和回复人指的是最后一个回复留言的时间和用户。进入留言首先看到的就是这个留言列表页,通过这一页用户可以进入浏览留言或发表回复留言的界面进行各种操作。这部分数据来源主要是留言表、用户表,其中界面的颜色设置取自管理员对界面颜色配置的变量值。4.2.2建立发
32、布留言相关页面如图4-2所示是发表新帖的界面。这里只允许会员发表新留言,需要用户填写的新留言的信息包括:用户名、密码、留言主题、当前心情、具体内容等,这也是留言表里的最基本信息。其中标题不能超过50个汉字,要进行校验。其次该留言提供了一些表示心情的图片,用户只需选择一种即可。内容说明是指书写留言内容时输入框支持输入什么。具体内容输入框上的按钮可以对输入的内容进行字体方面的设置,界面比较友好,让用过Word的人很容易掌握这些小按钮的用法,其中有加粗、斜线等。输入框下方还提供一些小图片,用户可以点击表情图标就可在留言中加入相应的表情。其中是否显示签名和有回复时,使用邮件通知由作者选定,可以选择也可
33、不选。所有内容都填写完毕后,点击“发表”按钮则数据库中相应的留言表增加一条记录,用户留言发表成功。图4.2 发布留言页面图4.3留言管理页面设计4.3.1建立管理员登录界面管理模块访问页面admin_login.asp,数据库中默认的已经存在的用户为admin,密码admin。该模块登录时要进行用户名和密码的有效性验证,查询用户表,如果该用户存在则进入管理的主页面admin_login.asp,该校验过程中存储该用户的编号在session中,以便维持该用户的有效性连接,见图4.3。图4.3 留言管理登录页面图4.3.2建立版面管理相关页面上面介绍了登录模块,接下来在管理员登录后进入留言维护模块
34、,负责新建留言类型,留言名称等。管理员首先看到的是留言列表。该列表页是管理员对留言进行各种操作的界面,所以要留给用户一些接口,以便用户进入到其他页面进行各种操作(新增留言分类、新增留言、分类排序修改、删除分类等)。在留言的列表页,有一个接口是“新增留言分类”,留言分类的维护包括新增、编辑和删除。如图4.4所示是点击新建留言分类的部分界面,管理员须填写分类名,点击添加即可添加一个新的留言分类。相应的数据库的留言分类表里增加一条记录。下面进入留言内容的维护阶段的设计,该模块的设计用于维护用户使用的留言,包括留言的基本信息和显示样式,是该系统的主要模块。这些信息的描述是一个留言所必需的,用户所看到的
35、留言属性和显示信息从这里提取相应的信息,因此该设定是非常重要的,不仅涉及到管理,还影响显示和功能。图4.4 留言管理页面图4.3.3建立参数设置相关页面基本变量设置的界面维护该留言的一些公共基本信息,留言变量设置的代码如下所示。该管理变量的设计和开发完全是为留言的显示服务的,因此设计宗旨就是一切为了留言的面貌和管理。图4.5 留言管理设置页面图%If Request.QueryString(action)=setup thencall setup()ElseIf Session(id) Then Set rs = server.createobject(ADODB.RecordSet) rs.
36、Open Select * from note_Admin where id=&Session(id),conn,1,3% %Sub setup()if request(save)=ok then保存设置 创建RecordSet 对象Set NArs=Server.CreateObject(ADODB.Recordset)从数据库note_admin中查询id 列的值为Session(id) 的记录,并保存在NArs 中NArs.open select * from note_admin where id=&Session(id),conn,1,3 创建RecordSet 对象Set WBrs
37、 = Server.CreateObject(ADODB.RecordSet)从数据库web 中查询所有记录,并保存在WBrs 中WBrs.Open Select * from web,conn,1,3资料填写不完整if trim(request.form(sitename)= or trim(request.form(admin)= or trim(request.form(maxlength)= or trim(request.form(counts)= or trim(request.form(replycolor)= or trim(request.form(isreply)= or
38、trim(request.form(distance)= then给出提示,并返回到前一页response.write alert(资料填写不完整或有错误,请检查后重新提交。);history.back();response.endend if输入的留言主题最大长度、留言内容最大长度、每页留言数和表格间距不是数字if (not isNumeric(request.form(subjectmaxlength) or (not isNumeric(request.form(maxlength) or (not isNumeric(request.form(counts) or (not isNum
39、eric(request.form(distance) then给出提示,并返回到前一页response.write alert(资料填写不完整或有错误,请检查后重新提交。);history.back();response.endend ifWBrs(sitename)=Request.Form(sitename)站点名称NArs(admin)=Request.Form(admin)管理员姓名if trim(request(password) then NArs(pwd)=trim(Request.Form(pwd)密码End IfWBrs(SubjectMaxLength) = Reques
40、t.Form(subjectmaxlength)留言主题最大长度WBrs(maxlength)=Request.Form(maxlength)留言内容最大长度WBrs(counts)=Request.Form(counts)每页留言数WBrs(mail)=Request.Form(mail)是否必填邮箱NArs(isreply)=trim(Request.Form(isreply)回复提示NArs(replycolor)=trim(Request.Form(replycolor)回复颜色WBrs(distance)=Request.Form(distance)表格间距NArs.update更新
41、数据库WBrs.update更新数据库NArs.Close关闭RecordSet 对象Set NArs = nothingWBrs.Close关闭RecordSet 对象Set WBrs = nothing保存成功,给出提示,并返回到管理选项界面response.write alert(您提交的设置已保存。);location.href=admin_set.asp;response.endEnd IfEnd Subconn.CLose关闭数据库连接Set conn = nothing%5 系统调试5.1配置运行1. Microsoft Office, IIS 的安装和程序的安装。IIS(WinNT平台下)和PWS(Win9X平台下)属同一事物,是ASP的开发平台、运行后台,也是服务器的运行软件。安装IIS或PWS之后,最重要的就是要设置虚拟目录。如果没有虚拟目录,网页将无法访问。2.启动程序(1)启动IIS;(2)在IE地址栏输入地址http:/localhost,就能访问IIS的默认主页面;(3)在IE地址栏输入地址http:/localhost/index.asp,就能访问系统的前台首页面;(4)页面的后台的登录入口中输入用户名admin,密码admin,登录后台管理系统,管理员可以注册用户,填写用户信息,然后就