关键词 ASP Web 数据库 网上答疑
0 引言
传统的答疑方式是一种面对面的交流,具有实时、直接的特点,教师和学生可以综合运用语言符号和非语言符号来传递信息,交流沟通。但由于它需要在固定的时间和地点进行,因而具有很大的不灵活性。而计算机网络技术日新月异的发展和Internet的普及为传统的师生交流开辟了一条崭新的渠道,在很大程度上弥补了传统答疑方式的缺陷。基于Web的答疑方式使师生交流不再受时空的限制,只要具备上网的条件,学生可以随时随地提出问题,教师也可以随时随地解答问题。这不仅能够拓展教师和学生的交流空间,增加教师和学生沟通的机会,拉近师生之间的距离,使一些平时内向胆怯的学生也勇于发言,而且通过师生之间的讨论,能帮助学生自己发现问题,提出问题并最终解决问题,从而增强学生的独立性、自主性和探索性。
基于Web的“教师答疑室”就是针对以上原因而设计开发的。它使用当前流行的Web站点设计技术和开发工具,综合ASP技术,HTML和VBScript 脚本语言,用Microsoft Access作为后台数据库,Macromedia Dreamweaver作为开发平台。
1 系统功能设计
1.1 设计思想
“教师答疑室”采用B/S结构,位于客户端的教师和学生只需用浏览器来使用本答疑系统,服务器端采用ASP技术来完成动态网页的生成和数据库的访问,后台数据库采用Microsoft Access。其实现原理如图1所示。
1.2 功能结构设计
从总体功能来说,“教师答疑室”分为三个模块:用户模块、答疑模块和管理模块,其功能结构如图2所示。
1.3 系统逻辑流程
“教师答疑室”的用户分为三类:管理员、教师和学生,他们的权限是不同的:管理员有最高管理权限;教师除了浏览、提出和回答问题,还负责所教课程的问题呈现页面的维护;学生可以浏览、提出和回答问题。图3给出了不同的用户以不同的身份访问“教师答疑室”时的逻辑流程。
2 用户界面设计
如果说,功能设计是网络答疑系统的灵魂,那么界面设计就是其不容忽视的外表,二者只有完美结合,达到形神兼备才能使访问者乐在其中,留连忘返。在进行界面设计时根据本答疑系统的用户特点,从整体布局、颜色搭配、设计风格等方面作了主要考虑,并结合动画效果,从而使系统的界面既美观大方又具有良好的交互性和用户亲和力。
用户进入主页之后先要登陆,否则只能浏览留言,而不能发表留言。主页呈现问答的总体情况包括问题数、回复数及最新问题等,分为两个版块:站务管理版块和教师答疑版块。
站务管理版块分为站务公告区、新手上路区和综合意见区,列出了各个区的版主、主题数、回复数、最新问题及其作者和发表时间。
教师答疑版块的主题按照各门课程分类,列出了各门课程的任课教师、问题数、回复数、最新问题及其提问者和提问时间。用户只需点击课程名称,即可进入相应课程的问题呈现页面。
3 主要实现技术
3.1 ASP与Access数据库连接技术
“教师答疑室”的用户信息、问题及其回复等都是存储在后台数据库中的,要存取和管理数据库,首先必须创建ASP与数据库的连接。具体实现方法如下:
首先在控制面板的管理工具面板启动数据源(ODBC)管理器,在打开的ODBC数据源管理器窗口中选择系统DSN选项卡;接着单击[添加]按钮,选择“Microsoft Access driver (*.mdb)”单击[完成]按钮,在弹出的“ODBC Microsoft Access 安装”窗口输入数据源名“infodb”及对此连接的描述“BBS后台数据库”,选择要连接的数据库“infodb.mdb”,单击[确定]按钮。至此,系统DSN就创建成功了。
免费论文下载中心 然后,在要与数据库连接的ASP中利用以下一段代码即可以实现与数据库的连接。
Set conn= Server.CreateObject("ADODB.Connection")
conn.Open"dsn=infodb"
3.2 分页显示技术
对于问题呈现页面及回复页面,由于内容比较多,如果都在一个页面上显示,势必会使网页很长,用户查看时要不停地向下拖动,这样很容易让人产生厌烦心理。为了使用户方便快速地浏览网页,在内容比较多的页面都采用了分页显示技术,部分代码如下:
set rs=Server.CreateObject("ADODB.RecordSet")
rs.Open str1,conn,1
dim sumcount
‘如果记录集不是空的,就执行分页显示。
if not rs.bof and not rs.eof then
sumcount=rs.RecordCount
rs.MoveFirst
dim page_no,page_total,i,j
‘下面一段判断当前显示第几页,如果是第一次打开,为1;否则由传回参数决定。
if request.QueryString("page_no")="" then
page_no=1
else
page_no=cint(request.QueryString("page_no"))
end if
……
next
通过分页技术,设置每页显示10个问题,使问题呈现页面不再冗长,用户只要点击要浏览的页面号码就可以跳转到相应的页面。与不采用分页显示技术相比较,不仅方便了用户浏览,而且界面也更加美观了。
3.3 用户端的检测技术
由于ASP文件是在服务器端执行的,当用户提交信息时,难免会有出错信息,这时若将ASP文件直接提交给服务器,服务器在执行过程中发现错误,再以HTML文件传送给客户端,这样一个来回传送的过程会浪费很多时间。因此,有必要在客户端对用户提交的信息进行检查,确认没有错误之后再传送到服务器端解释执行。只需要用VBScript编写一个函数,即可以实现用户端检测技术。在“教师答疑室” 的ASP文件中有很多都用到了该技术。下面以用户注册页面为例,给出实现该技术的部分核心代码。
Sub check()
‘下面一段判断用户呢称和密码是否为空
if form1.username.value=empty then
msgbox "用户呢称不能为空!"
focusto(0)
exit sub
end if
if form1.password.value=empty then
msgbox "用户密码不能为空!"
focusto(1)
exit sub
end if
……
End Sub
然后再把待检测的表单属性设置为<input type="button" name="submit1" value="提交" onclick="check()" style="color: rgb(0,33,99)" >,当填写完表单提交时,若有必填项未填或有错误,都会弹出提示出错的窗口。这样就在用户端完成了对提交表单信息的检查。
3.4 动态链接技术
“教师答疑室”的用户信息、问题及回复等都是不断更新的,相伴随的链接也不能事先设定,而是随着内容的变化链接也有所不同,因此必须运用动态链接技术才能保证网页的顺畅链接。以问题呈现页面为例,实现动态链接主要用到了如下代码:
<%for i=1 to rs.PageSize%>
<tr>
<td align="center" bgcolor="eff7fe"><font color="#003399" size="-1">
<a href="hits2.asp?course_id=<%=course_id%>&list_id=<%=rs("ID")%>">
<%=rs("title")%></a></font></td>
</tr>
<% rs.MoveNext
if rs.eof then
exit for
end if
next%>
3.5 对用户权限的限定
针对管理员、教师和学生对“教师答疑室”的访问权限不同,在数据库表userinfo中设置了一个字段authority,管理员的权限最高,为2,教师次之为1,学生权限最低,为0。当ASP对数据库进行访问时,根据用户的权限不同,显示的信息也有所不同。以主页站务管理版块中的站务公告区为例,该区域只有管理员有权发起新主题,而教师和学生只可以浏览和回复主题,要实现不同权限用户的区分,用到了以下一段代码。
‘当用户欲在站务公告区发表新主题时,先判断用户权限是否为2,若为2则允许发表,否则提示出错。
if course_id=1 then
if session("authority")=2 then
str2="insert into question(title,question, course_id, sender, time_send) Values('"&title&"','"&question&"',"&course_id&",'"&sender&"','"&time_send&"')"
conn.execute(str2)
else
response.redirect"newworkfail.htm"
end if
else
‘在站务公告区以外的讨论区,则任何用户均可发表新主题。
str2="insert into question(title,question,course_id, sender, time_send) Values('"&title&"','"&question&"',"&course_id&",'"&sender&"','"&time_send&"')"
conn.execute(str2)
end if
通过以上代码,当管理员进入该页面时,发起新主题会显示出来,而当教师和学生进入该页面时则发起新主题不会显示,从而使教师和学生无权发表新主题,达到了限定权限的目的。
4 结束语
网络技术的发展和Internet的普及为现代教育提供了强有力的技术支持,基于Web的“教师答疑室”充分发挥了网络的优势,克服了传统的答疑方式的局限性,为师生随时随地交流提供了方便。该系统开发完成后能够在网络环境下正常运行,各种预期功能均得到实现,并且由于本系统的所有数据都是动态的,因此便于扩展,具有较好的可移植性。
参考文献
[1] 宣小平 等.ASP数据库系统开发实例导航.人民邮电出版社,2003
[2] 立雅科技.Dreamweaver & ASP网页整合大全.电子工业出版社,2004
[3] 杨印根 等.基于Internet的在线异步答疑系统.计算机与现代化,2002(6)
[4] 李爽,陈丽.国内外网上智能答疑系统比较研究.中国电化教育,2003(1) 免费论文下载中心