180 likes | 315 Vues
第 15 课 留 言 板. 15.1 课前导读 15.2 课堂教学 15.3 上机练习 15.4 课后作业. 留言板是一种简单的类 BBS 应用,它是在 HTTP 协议下的一种应用。本课介绍使用 ASP 技术开发简单的留言板系统。 15.1 课前导读
E N D
第15课 留 言 板 15.1 课前导读 15.2 课堂教学 15.3 上机练习 15.4 课后作业
留言板是一种简单的类BBS应用,它是在HTTP协议下的一种应用。本课介绍使用ASP技术开发简单的留言板系统。留言板是一种简单的类BBS应用,它是在HTTP协议下的一种应用。本课介绍使用ASP技术开发简单的留言板系统。 15.1 课前导读 BBS系统是最常见的一类网上社区,是Internet上最重要的应用之一。随着Internet主干网带宽与速度的迅速提高及Web技术的不断发展,许多只提供Telnet方式登陆的BBS系统也提供了允许用户使用HTTP协议方式进行网上交流的功能,Telnet与HTTP应用的界线开始交融。
留言板是一种最为简单的BBS应用。借助留言板,浏览者可以张贴留言给站主或其他浏览者。在企业或单位内部的局域网中,留言板提供了员工之间互相交流的绝好的场所。留言板是一种最为简单的BBS应用。借助留言板,浏览者可以张贴留言给站主或其他浏览者。在企业或单位内部的局域网中,留言板提供了员工之间互相交流的绝好的场所。 对于一个小规模的留言板系统,通常可以采用文件系统(一个文本文件)来存储留言内容;而对于一般网站上的留言板系统,要求支持对留言内容的查询、更新和删除等操作,通常需要采用数据库系统。 与文本存储留言信息的方式相比,采用数据库系统存储留言信息方式可以设定多种查询方式,存储信息的容量也更多,可以作为功能丰富且长期使用的留言系统。
15.2 课堂教学 15.2.1 文件系统留言板 15.2.2 数据库系统留言板
15.2 课堂教学 本课学习以下内容: ① 设计一个小规模的留言板系统,留言内容采用一个文本文件来存储。这种方式虽然不支对留言内容的查询、更新等数据库操作,但方便快捷,对一个生命期较短的临时留言系统来说,其功能已经足以满足要求。 ② 使用数据库系统设计一个留言板系统,可以设定多种查询方式,存储信息的容量也更多。 ③ 在上机练习中,将对数据库留言板系统进行改进。
15.2.1 文件系统留言板 1. 留言板主界面 2. 创建添加留言页面 3. 显示留言页面
15.2.1 文件系统留言板 留言板功能的实现由Index.htm,MessageAdd.asp,MessageBrowse.asp,Message.txt等4个文件来完成。Index.htm是一个引导页网页,该页面将用户的留言信息传送到MessageAdd.asp页面或引导用户查看留言信息。MessageAdd.asp将用户的留言信息存储到Message.txt文件中,该文件中自含有信息显示输出的格式。MessageBrowse.asp只是简单地定义一个HTML头,把Message.txt文件包含其中送至客户端的浏览器输出。
1. 留言板主界面 留言板主界面是留言板系统的主页面,该页提供若干输入框接受用户输入。留言板的主界面用HTML格式来写,页面分留言输入框和浏览留言链接两部分。 在记事本中输入代码,将文件以Index.htm为名存盘。 说明: ① 按“提交”按钮后,将执行留言提交文件MessageAdd.asp。 ② “浏览留言”链接将执行MessageBrowse.asp文件来浏览留言。 ③ 按“重写”按钮将清空已经输入到留言框中的内容以接受新的留言内容。
2. 创建添加留言页面 添加留言页面首先对留言主界面Index.htm传来用户的留言内容进行分析,确定内容符合要求后,将收集的留言数据存取到文本文件Message.txt中。如输入框各项内容都不为空,该页面不会显示,而是直接返回Index.htm页面,否则会提示如图15-2所示的出错信息,单击“返回留言页面”链接后返回Index.htm页面。在记事本中输入代码,将文件以MessageAdd.asp为名存盘。
说明: • ① 当留言主页面Index.htm中接受用户输入的各输入框有内容为空项目时,会执行如下程序: • Response.Write "<FONT color=red>输入框不能为空白!</FONT><P>" • Response.Write "<A href=Index.htm>返回留言页面</A></BODY></HTML>" • Response.End • 结束该页面中ASP程序的运行,输出出错页面。 • ② 程序中有如下语句: • Content = Replace(Content, vbCrLf, "<BR>") • Line4 = "<TABLE width=100% bgcolor=LightBlue><TR><TD>" • Line4 = Line4 & Content & "</TD></TR></TABLE>" • 它将留言中的换行符即vbCrLf换成<BR>,还用表格元素使留言内容显示出来不同的颜色,而Now()函数获取服务器当前时间作为添加留言的时间记录到本次留言中。
③ 由于网上留言是多用户环境,在对文件进行读写操作时将对文件的访问锁定,这里使用了Application对象的Lock方法和UnLock方法建立和解除临界区以保证在Lock方法和UnLock方法之间的程序同时只能有一个用户进行操作,从而不会出现两个以上的用户在同时提交留言内容时引起的数据丢失。 • ④ 如下两条语句: • objFSO.MoveFile FilePath, OldFilePath • objFSO.DeleteFile OldFilePath, True • 分别是文件改名和文件删除的操作,需要注意的是,在进行这两项操作前,一定先要把文件关闭,否则操作将不能成功。
3. 显示留言页面 • 显示留言页面的实现非常简单,首先定义了一个HTML页面的文件头,放置该页的标题“显示留言簿”,再将Message.txt文件包含进来,最后增加一个链接“返回留言板”指向Index.asp页面。在记事本中输入代码,将文件以MessageBrowse.asp为名存盘。 • 说明:程序中的语句: • <!--#include file="Message.txt" --> • 将Message.txt包含到本文件中,在ASP解释这一语句时,Message.txt文件中的所有信息会原封不动地输出到客户端的浏览器中。由于真正的显示是由客户端完成的,如文本文件的信息含有HTML标记,在客户端的浏览器中同样会被解释,因此,要保证留言信息中不含有不配对的HTML标记,以防留言不能被正确显示。
15.2.2 数据库系统留言板 1. 数据库设计 2. 改进后的留言主界面 3. 改进后的添加留言页面 4. 改进后的留言显示页面
15.2.2 数据库系统留言板 文本文件系统只能用以留言量小、栏目简单、生存期短的留言板系统,而真正的留言系统往往要求更为丰富的功能。为此,考虑使用数据库来存储留言内容的方式来完成一个更为完善的留言板系统的设计。改进后的留言板系统同样包括留言引导主页面、增加留言页面、显示留言页面,只是把存储留言内容的文本文件换成了Access数据库文件Message.mdb。 在新的留言板系统中,由Index.asp来检验留言内容中各项数据的正确性,而MessageAdd.asp和MessageBrowse.asp则与Message.mdb相连分别将留言信息存入或读出显示。
1. 数据库设计 数据库文件为Message.mdb,虽然也可以在网页中调用数据库操纵语句进行建立,但使用Access来建立更为方便。该数据库只需要一个表,表名为Message,当然,也可以其它名称命名,使用这个名称只是为了更易于理解这个表的含义,并不是说表的名称与数据库的名称之间有什么语法上的联系。Message表的结构见表15-1。 表15-1 Message表结构
2. 改进后的留言主界面 改进后的留言主界面使用ASP页,与前述的留言主界面相比,该页增加了判断表单中输入框内容正确性的语句。通过检验的输入被传递到MessageAdd.asp中进行处理,没有通过检查则提示出错,然后再引到本页的第一个出错内容输入框内。在记事本中输入代码,并将文件以Index.asp为名存盘。 说明: ① 程序中所定义的子程序Sub Check()实际的运行环境是在客户端,因此,其中使用的语句一定要考虑到这一点。 ② 控件的Focus()方法可以使控件获得焦点,本程序中使用控件的这个方法使输入焦点转到出错的输入框中。
3. 改进后的添加留言页面 添加留言页面并不真正用来显示,其中包含的是“纯”的ASP代码,用来将来自Index.asp的留言内容写入Message.mdb数据库中。在记事本中输入代码,并 将文件以MessageAdd.asp为名存盘。 4. 改进后的留言显示页面 改进后留言显示程序还是采用改进前添加留言的程序结构,只是前者的输出是客户端浏览器,后者的输出是一个Message.txt文件。在记事本中输入代码,将文件以MessageBrowse.asp为名存盘。改进后的显示界面。
15.3 上机练习 当留言内容较多时,查看留言显示页面会很不方便,同时网页的显示速度也将很慢。为此可以将页面改为分页显示。 【练习15-1】修改留言显示页面为分页显示。只需修改MessageBrowse.asp的代码,其他程序不变,在浏览器中执行程序。