http://www.paper.edu.cn
基于ASP技术的教育网站
李新1,2,刘清堂1,2,李娜1,2
1.华中师范大学教育信息技术工程研究中心湖北.武汉4300792.华中师范大学信息技术系湖北.武汉430079摘要:文章以教育网站的开发为基础,介绍了基于ASP技术的教育网站过程,对网站的主要功能及实现技术做了详细的分析和阐述,为各类教育网站的设计提供了良好的参考。关键词:ASP,网站,设计,实现,技术0引言随着动态网站技术的发展和成熟,众多教育单位都开始建设自己的网站。自主建设网站的优势比较多:它能做到围绕某个领域按需设计,借助多样的技术打破千篇一律的模式,还能考虑与其他系统的兼容会话问题,其扩展性和重用性更强。这里,我们采用ASP技术自行开发了一个知识服务的门户网站,该网站建设初期主要完成首页及论坛,要求能根据用户身份的不同具有不同的权限,在进入其他系统时不仅不需要再登陆而且还能因权限不同享用不同的操作范围。设计的重点在于网站几个典型模块的实现,BBS论坛的实现以及权限的分配和与其他系统的会话问题。1网站的设计1.1网站的整体框架设计本网站主要面向广大师生而设计,以知识服务为宗旨,是探讨学习体验交流zplusz的网络平台。在这里,客户端可以在无需安装zplusz软件的情况下,有指导的练习zplusz的各种功能;还可以在资源管理系统中检索到有用的zplusz作品;在考试管理系统,可以根据用户权限的不同享受不同的知识服务,学生可以在线测试并查询成绩,教师可以自行组卷、阅卷、并上传优质试题。在这里我们只介绍知识服务平台门户网站的,图1给出了网站的整体框架图。
网站的整体框架网站的前台网站的首页BBS首页版块主题区数其管据他理员显登示陆新闻管理公告管理用户管理论其坛他管理网站的后台管理
导用滚新计数知动其导用个航户动闻数据识态他航户人栏登管栏登公发器显服学录理示务习录告布区
图1网站的整体框架图从上图可以看到,用户连接进入本网站以后,能直接查阅新闻、公告、论坛的帖子等信息,计数器会实时统计网站的访问次数,各种数据显示会让你注意网站又有新的东西,在知识服务动态学习区,能体验zplusz软件的各种功能并保存自己的作品;如果用户注册登录以后,则活动范围扩大,在论坛中能发帖、回帖,拥有自己的个人管理档案,也能进入其他系统。系统管理员登陆网站以后,能对各种已发布的信息进行增、删、改、查,能对已注册的用户审核其权限并管理。另外,要说明的是上图中几个“其他”模块,指的是网站的非重点
-1-
http://www.paper.edu.cn
易实现的部分,如站外资源链接、动态广告、网站标志等。1.2网站的数据库表的设计本网站采用SQLSERVER2000作为数据库服务器,其安全性能较好,比较适合于中小型系统的开发。它与前台的程序配合,通过浏览器完成数据存储、查询等操作。在网站开发过程中,为了实现各模块、论坛、后台管理等功能,在数据库中主要设计了以下几个表: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文件中,经常有与数据库连接的要求,因此可以将数据库的连接、关闭等功能以“subopenDB()或closeDB()……endsub”写入一个ASP文件,如:conn.asp。在涉及数据库调用时,conn.asp作为包含文件被引用,将连接数据库时,直接调用openDB就可以了。通常连接数据库后就要建立recordset对象,以便对数据进行访问并返回查询的结果,此对象的建立与释放可以与数据库的建立与关闭分别写在一起。Conn.asp中就包含这样两个过程:…………SubopenDB()Setconn=server.createobject("ADODB.Connection")conn.open"Driver={SQLServer};Server=localhost;Database=DBName;Uid=sa;Pwd="setrs=server.createobject("ADODB.Recordset")EndsubSubcloseDB()IfIsObject(conn)Thenifnot(connisnothing)thensetrs=nothingconn.close
-2-
http://www.paper.edu.cn
setconn=nothingendifEndIfendsub…………2.2注册登录技术新用户必须先填写注册信息,数据入库成功后方可成为本站用户。在注册时,在身份一栏提供了学生、家长、老师、其他四个选项供选择,这四种身份的功能是不一样的,用户最好如实地选择自己的身份,这样系统才会提供最适合你的服务。登陆成功后,用户信息被保存在session中,用户便可进入网站的各个系统,当某系统如BBS要取得用户的个人资料时,可以从session中取得用户名,然后查询到更多的用户信息;当某系统需要判断身份以显示不同页面时,也能从session中取得身份来判定权限。通过session做到了单点登陆,解决了因权限不同显示不同页面的问题,方便了与个人有关资料的提取。注册登陆的流程图如图2:
页面加载判断session("USER_NAME")是否为空是显示登陆注册界面是否为新用户是填写注册信息给出警告检查信息规范性及用户的唯一性否用户名和密码都正确否输入用户名和密码并提交否否进入系统
合法将用户的注册信息插入表中保存进入系统
将用户信息存入SESSION变量
图2注册流程图2.3公告和新闻的实现技术公告栏一般设计为循环滚动的样式,用于发布网站的重要通知等;新闻栏窗口则只列举出最新的几条新闻标题,用户如果想阅读更多新闻,要单击“更多”进入新闻的列表界面。公告的实现过程中主要用到HTML的活动字幕标记