2024年6月20日发(作者:)
基于ASP技术的教育网站的设计与实现
李新
1,2
,刘清堂
1,2
,李娜
1,2
1.华中师范大学教育信息技术工程研究中心 湖北.武汉 430079
2.华中师范大学信息技术系 湖北.武汉 430079
摘 要:文章以教育网站的开发为基础,介绍了基于ASP技术的教育网站的设计与实现过程,
对网站的主要功能及实现技术做了详细的分析和阐述,为各类教育网站的设计提供了良好的
参考。
关键词:ASP,网站, 设计, 实现,技术
0 引言
随着动态网站技术的发展和成熟,众多教育单位都开始建设自己的网站。自主建设网站
的优势比较多:它能做到围绕某个领域按需设计,借助多样的技术打破千篇一律的模式,还
能考虑与其他系统的兼容会话问题,其扩展性和重用性更强。这里,我们采用ASP技术自行
开发了一个知识服务的门户网站,该网站建设初期主要完成首页及论坛的设计与实现,要求
能根据用户身份的不同具有不同的权限,在进入其他系统时不仅不需要再登陆而且还能因权
限不同享用不同的操作范围。设计的重点在于网站几个典型模块的实现,BBS论坛的实现以及
权限的分配和与其他系统的会话问题。
1 网站的设计
1.1 网站的整体框架设计
本网站主要面向广大师生而设计,以知识服务为宗旨,是探讨学习体验交流zplusz的网
络平台。在这里,客户端可以在无需安装zplusz软件的情况下,有指导的练习zplusz的各
种功能;还可以在资源管理系统中检索到有用的zplusz作品;在考试管理系统,可以根据用
户权限的不同享受不同的知识服务,学生可以在线测试并查询成绩,教师可以自行组卷、阅
卷、并上传优质试题。在这里我们只介绍知识服务平台门户网站的设计和实现,图1给出了
网站的整体框架图。
网站的整体框架
网站的前台
网站的首页BBS首页
版
块
主
题
区
数其
管
据他
理
员
显
登
示
陆
新
闻
管
理
公
告
管
理
用
户
管
理
论其
坛他
管
理
网站的后台管理
导用
滚新计数知动
其
导用
个
航户
动闻数据识态
他
航户
人
栏登
管
栏登
公发器显服学
录
理
示务习
录
告布
区
图1 网站的整体框架图
从上图可以看到,用户连接进入本网站以后,能直接查阅新闻、公告、论坛的帖子等信
息,计数器会实时统计网站的访问次数,各种数据显示会让你注意网站又有新的东西,在知
识服务动态学习区,能体验zplusz软件的各种功能并保存自己的作品;如果用户注册登录以
后,则活动范围扩大,在论坛中能发帖、回帖,拥有自己的个人管理档案,也能进入其他系
统。系统管理员登陆网站以后,能对各种已发布的信息进行增、删、改、查,能对已注册的
用户审核其权限并管理。另外,要说明的是上图中几个“其他”模块,指的是网站的非重点
-1-
易实现的部分,如站外资源链接、动态广告、网站标志等。
1.2 网站的数据库表的设计
本网站采用SQL SERVER2000作为数据库服务器,其安全性能较好,比较适合于中小型系
统的开发。它与前台的程序配合,通过浏览器完成数据存储、查询等操作。
在网站开发过程中,为了实现各模块、论坛、后台管理等功能,在数据库中主要设计了
以下几个表:tblUserInfo(用户信息表);tblAdmin(系统管理员表);tblGgInfo(公告信
息表);tblNews(新闻信息表);tblBBSItems(论坛信息总表);tblTopic(论坛主题区表);
tblBoard(论坛版块信息表)。
前四个表比较简单,字段的设置主要依据功能实现时所需要的信息。如用户信息表,设
置了USER_ID,USER_NAME,PWD,REAL_NAME,NICK_NAME,IDENTI等字段,其中把USER_ID
作为标识,便于以后写SQL语句时作为寻找某条特定记录时的依据,其他表也设立了独特的
标识。在设计新闻和公告表时,则要设计信息ID号、标题、内容、作者、发布日期等字段。
tblBBSItems(论坛信息总表)的设计相对复杂,字段有ITEM_ID,ITEM_CONTENT,
ITEM_TITLE,AUTHOR,COMPOSE_DATE,MODIFY_DATE,IS_ORIGINAL,FATHERS_ID,REPLYD_TIMES,
BROWSED_TIMES,LATEST_REPLICATION_ID, STATES ,TOPIC_ID,BOARD_ID。此表描述了帖
子的信息,如帖子的ID号,帖子的标题、内容、作者、撰写日期、修改日期、是否是原创帖,
此帖被回复的次数,被浏览的次数,最近回复的作者的ID号,帖子的状态,帖子所属的版块
的ID号,帖子所属区的ID号。其中FATHER_ID描述的则是如果该帖为非原创帖,那么它所
回复的原创帖的ID号,如果是原创帖,则FATHERS_ID号与帖子的ID号相同。
论坛主题区表中主要有TOPIC_ID,TOPIC_TITLE两个字段,版块信息表结构与主题区表
相同,是版块的ID号和版块的名称,这两个表可以用来实现论坛间导航和跳转。
2 网站具体实现
在介绍动态网站实现的技术之前,有必要对ASP动态网站实现原理有所理解。
ASP文件是由HTML代码、脚本语言(VBScript或javascript)、ASP语句组成,HTML描
述了界面的显示样式,脚本语言和ASP语句则用来描述程序的逻辑能力及其与数据库的操作。
动态网站的实现过程就是:将ASP文件发送给服务器以后,由服务器的特定语言引擎对此文
件进行分析和执行并生成相应的HTML文件,服务器返回HTML文件给浏览器显示结果。
2.1 常用的数据库连接技术
在ASP文件中,经常有与数据库连接的要求,因此可以将数据库的连接、关闭等功能以“sub
openDB()或closeDB()……end sub”写入一个ASP文件,如:。
在涉及数据库调用时,将作为包含文件被引用,连接数据库时,直接调用openDB
就可以了。 通常连接数据库后就要建立recordset对象,以便对数据进行访问并返回查询的
结果,此对象的建立与释放可以与数据库的建立与关闭分别写在一起。
中就包含这样两个过程:
…………
Sub openDB()
Set conn=object("tion")
"Driver={SQL Server};Server=localhost;Database=DBName;Uid=sa; Pwd="
set rs=object("set")
End sub
Sub closeDB()
If IsObject(conn) Then
if not(conn is nothing) then
set rs=nothing
-2-
set conn=nothing
end if
End If
end sub
…………
2.2 注册登录技术
新用户必须先填写注册信息,数据入库成功后方可成为本站用户。在注册时,在身份一
栏提供了学生、家长、老师、其他四个选项供选择,这四种身份的功能是不一样的,用户最
好如实地选择自己的身份,这样系统才会提供最适合你的服务。登陆成功后,用户信息被保
存在session中,用户便可进入网站的各个系统,当某系统如BBS要取得用户的个人资料时,
可以从session中取得用户名,然后查询到更多的用户信息;当某系统需要判断身份以显示
不同页面时,也能从session中取得身份来判定权限。通过session做到了单点登陆,解决
了因权限不同显示不同页面的问题,方便了与个人有关资料的提取。
注册登陆的流程图如图2:
页面加载
判断
session("USER_NAME")
是否为空
是
显示登陆注册界面
是否为新用户
是
填写注册信息
给出警告
检查信息规范性
及用户的唯一性
否
用户名和密码都正确
否
输入用户名
和密码并提交
否
否
进入系统
合法
将用户的注册信息插入表中保存
进入系统
将用户信息存入SESSION变量
图2注册流程图
2.3公告和新闻的实现技术
公告栏一般设计为循环滚动的样式,用于发布网站的重要通知等;新闻栏窗口则只列举
出最新的几条新闻标题,用户如果想阅读更多新闻,要单击“更多”进入新闻的列表界面。
公告的实现过程中主要用到HTML的活动字幕标记
MM_openBrWindow(theURL,winName,features)。标记内是查询表后循
环显示的公告标题,每个公告标题再进行超链接,链接的单击动作的作用是:传递此公告的
ID号给公告的显示页面,显示页面根据ID号查询到公告的详细信息后,由
MM_openBrWindow打开。具体语句如下:
lbars=yes,width=400,height=430')" class="linkcss"><%=rs("GG_TOPIC")%>
新闻的实现过程中为了只呈现最新的几条新闻,且新闻标题过长时只显示标题的前10个
-3-
字加省略号,所采取的关键技术是在查询数据库时,按修改时间降序排列记录,并输出最新
的几条新闻标题。标题字长的截取则用到Left(string, length)函数,它能返回此字符串由
左算起特定数量length个字符,如果Length大于或等于 string 的字符数,则返回整个字
符串。具体语句如下:
left(rs("NEWS_TITLE"),10)&"...
[1]
2.4 BBS实现技术
BBS本身是一个系统,要求进入特定主题区后能阅读帖子,登录后能发帖、回帖和修改自
己的已发帖。在浏览原创帖子列表页面,能显示各帖被浏览的次数、最近回复人、最新回复
时间、及发表原创贴子的作者名、发表时间等信息。当登录者单击帖子的标题阅读具体内容
时,能迅速看到此原帖的内容及此原帖的所有跟帖,并能对原帖进行新的跟帖,对某条跟帖
进行再回复。如果发帖的用户查看自己的已发帖,还能对此已发帖进行修改和删除。当所有
的数据信息经过数据库存储后,就能实时的显示各种最新信息。
下面介绍实现上述论坛功能的关键技术:
(1)发原创的新帖
进入某主题区如“灌水区”发帖,当单击“灌水区”时将主题区的ID号(TOPIC_ID=1)
传递给发帖页面,发帖页面接收TOPIC_ID=1并将此信息与发帖的内容一起传递
给保存页面。这样做的目的是将帖子与所在的主题区联系起来,表示此贴发布在灌
水区。
在中进行了如下几个操作,且此操作作为事务处理,被一次性执行。如图3:
将撰写的信息存入数据库,
读出所有的ITEM_ID,用rs.
并取得此时刻撰写时间,且
movelast跳到最后一条记录,
IS_ORIGINAL中存入1即得到刚存入的最新记录
令此记录的父节点fathers_ID
和最新回复帖的ID号都等于帖
子的ID号
图3存储发帖的事务处理
可以看到信息保存过程中,标明了帖子的原创性,而且将父节点和最新回复帖的ID号都
初始化为帖子的ID号。这样做的目的,是为后面读出原贴及跟帖时,只要查询它的所有回复
就可以了。
(2)列出所有原创贴
在原创帖子列表页面能显示发表原创贴子的作者名、发表时间、被浏览的次
数、最近回复人、最新回复时间等信息。在前面设计论坛表的时候,可以看到tblBBSItems
表中包含了几乎所有要用到的字段,现在的关键是怎么利用这个表,尤其是有跟帖的情况下。
解决思路:利用好father_id和latest_replication_id,将一个表连接到它自身来查询。
这里是tblBBSItems和tblBBSItems_1表,两表连接的条件是tblBBSItems_1中的father_id
和tblBBSItems中Item_Id相等且tblBBSItems_1的Item_id等于tblBBSItems的最新回复
的ID。这样就能将跟帖和发帖连接起来,知道跟的谁的帖,跟帖的内容是什么。
列出原创贴时,利用上面的思路,将表连接到它自身来查询。显示字段时,有关原创贴
本身的信息如作者、发表时间等可直接查询,有关回复该帖的信息则需要用别名来查询,如
最近回复人、最新回复时间用tblBBSItems_E_DATE AS LATEST_REPLICATION_DATE,
tblBBSItems_ AS LATEST_REPLYER来实现。最后给出查询的条件是IS_ORIGINAL=1 且
topic_id与接收到的topic_id相等。
(3)阅读帖子的具体内容并回复
在列出所有原创贴页面,单击某条帖子标题时,会将该贴的ITEM_ID传给阅
读帖子的页面。现在要实现的功能是:能一次性浏览该贴的具体内容及紧跟的回帖
并发表跟贴,能对紧跟的回帖实现再回复,另外还要进行记数,记录贴被浏览的次数,被回
复的次数。
-4-
首先,进入页面后,即阅读了某贴,应把此贴的浏览次数加一。实现方法则是
根据接收的ITEM_ID查询到已有的浏览次数BROWSED_TIMES,对其加一后再保存到数据库中。
然后,再次请求数据库,将原创贴的内容及其跟贴的信息都读出来,读出的信息包括帖
子的主题、内容、作者及被回复的次数,此查询的条件是ITEM_ID="&ITEM_ID OR FATHERS_ID
= "&ITEM_ID,这里的ITEM_ID是接收过来的原创贴的ID号。
各条帖子被读出以后,要求如果是原创贴可以在页面的回复文本框直接回复提交,刷新
后会显示你回贴的内容;如果是回复某条跟贴,则要求点此跟贴旁边的“回复”超链接,打
开的页面可以看到跟贴的内容及其跟贴的子贴。实现的思路是:因为跟帖的rs("ITEM_ID")
值和read页面接收的变量原创贴的ITEM_ID值不相等,所以可以以此为条件让跟帖的帖子的
回复有超链接,让原创贴的回复二字没有超链接。跟帖的回复超链接将所属区的id号
topic_id和ITEM_ID="_&rs("ITEM_ID")再传给界面,这样又会再次显示该跟帖及
跟帖的子帖。
在文件的页面下方包含了一个文件,此文件是一个用户提交回贴的
界面,传递的信息不仅包含提交的内容,还包含此回贴的fathers_id,将此信息提交给保存页
面保存成一条新的记录。另外在保存回复以后进行了一个事务处理,被一次执行。
此事务处理如图4:
找到最后一条记录,令
将最后一条记录的LATEST_RE
Item_id=rs("Item_id")
PLICATION_ID=Item_id
利用ITEM_ID="&FATHERS_ID找到
所回复的帖子,读出该帖的回复
次数,将回复次数加一后保存
图4读帖的事务处理图
(4)修改和删除帖子
修改帖子和删除帖子要判断是否是发帖本人要进行的操作,之前我们将以登陆的用户存
在了session中,因此只要判断帖子的作者是否等于session(“user_name”)即可。修改和
删除帖子的过程很简单,这里不再介绍。
以上详细介绍了BBS实现的关键技术,其中发帖、读帖、改帖、存帖、页面变量的传递
等原理可以迁移到系统的其他部分,如后台管理,个人信息修改等。
本动态网站开发中有一个动态学习区,其实现过程是先由专门的开发人员开发出插件,
这边注册插件后,能以网页的形式显示软件的部分开发环境,用户可以直接使用其中的工具
制作课件。
3 小结
开发网站的工作还有很多,如系统日志的建立,网站的安全性考虑等,本文主要对网站
的重要功能实现的技术做了比较详细的分析和介绍,希望能对开发网站的人提供一定的参考。
致谢:
本研究成果得到高等学校科技创新工程重大项目培育资金项目“国家知识服务体系支撑
技术研究”支持,项目编号:705038 ;
同时也得到教育部博士点基金项目“异构网多媒体内容适配及优化策略”支持,项目编
号:2 。
参考文献
[1] 张固 汪晓平等编著, ASP网络应用系统典型模块开发实例解析:177-223页.北京: 人民邮电出版社,
2004.7
-5-
Design And Realization Of Educational Web Site
Based On Asp
LiXin
1,2
,Liu Qingtang
1
,
2
,LiNa
1,2
1. Engineering research center for education information technology of HuaZhong Normal
University 430079
2. Information Technology HuaZhong Normal University
Abstract
This paper bases on the developing of educational web site, introduces the design and realization of
educational web site, concretely analyses and illustrates the developing process of the web site’s main
parts and functions. It sets a good reference for educational web sites’ design.
Keywords:ASP, Educational Web Site, Design, Realization,Technology
-6-
发布者:admin,转转请注明出处:http://www.yc00.com/news/1718894628a2753352.html
评论列表(0条)