1、目 录 摘要-------------------------------------------------------------------------3 前言-------------------------------------------------------------------------4 第一章 概述--------------------------------------------------------------5 1.1 ASP技术简介绍------------------------------------------------
2、5 1.2 ASP对象,属性介绍------------------------------------------------6 1.3 ASP网页的运行环境---------------------------------------------6 1.4 数据库access介绍-------------------------------------------------8 1.5 ASP开发工具介绍------------------------------------------------8 第二章 网上答疑系统实现-------------------
3、9 2.1 系统简单介绍------------------------------------------------------9 2.2 常见问题解决-----------------------------------------------------10 第三章 各个部分功能及实现----------------------------------------13 3.1 用户登陆及主界面-----------------------------------------------13 3.2 课程讨论区---
4、15 3.3 自由讨论区--------------------------------------------------------18 3.4 名词解释系统-----------------------------------------------------24 第四章 心得体会-------------------------------------------------------29 谢辞--------------------------------
5、30 参考文献--------------------------------------------31 内 容 摘 要 网上答疑系统是使用ASP+数据库开发的面向对象的数据.信息管理系统,该系统主要用于在校学生课程答疑。该系统界面友好,操作简单,易学易用,从总体方案上力求达到该软件所需的目标要求。本系统由五个部分组成,每个部分实现不同的功能,各个部分通过对数据库的调用,实现网上答疑的目的。 本系统包含了多种网上答疑的方式,学生可以根据自己喜欢的方式,对课程的疑问提出问题,由管理员解答或系统自动回答,提高学习的效率。
6、 关键词:网上答疑系统 数据库 ASP Contents summary On-line ask-and-answer system is a student database that use what ASP and MS Access DB develop to face to the object the information management the system, that system to primarily used for the usual management in student's couse ask-and-answer. The syste
7、m's interface the amity, operation is simple, easy to learn easily use, and try hard for the target request for needing of the software's from the total project. This system is made up of five parts, each part realizes different function, the ones that adopted to the database in each part were trans
8、fered, realized the purpose to answer questions on the net. This system includes many kinds of ways to answer questions on the net, students can be according to one's own way to like, the doubt to course puts forward the question, answered by the administrator or the system is answered automatically
9、 improve the efficiency of study. Key phrase: On-line ask-and-answe database asp 前 言 近几年来,我国计算机事业的变化之大、发展之快是任何人都始料不及的。目前,计算机已进入社会各行各业之中,成为其不可分割的一部分。各专业学生,各行业的科技人员、管理干部、工作人员都迫切要求学习计算机、使用计算机。 随着二十一世纪信息时代的到来,随着社会的发展,人们生活水平的不断提高,管理必将实现现代化,各种大型企业不断涌现,管理部门的工作者都承担着繁重的任务,巨大的工
10、作量、大量的数据统计、分析、计算等工作给他们的工作带来的很大的麻烦,增加了工作的难度,而且,长时间的工作易出错,降低工作效率。所有这些问题都有待于进一步改进。所以对企、事业单位利用计算机高科技手段进行管理势在必行。 ASP(active server page,活动服务器网页)是一种运行与服务器端的WEB应用程序的开发技术,它既不是一种语言,也不是一种开发技术,而是一种服务器端的脚本语言环境。 ASP与HTM相比的优点 ASP与HTML相比,其最大的优势在于三个方面:在创建动态、交互式站点方面,ASP功能强大、处理方式灵活;由 ASP脚本语言是由服务器端来解释和运行,动态生成普通的HTM
11、L页面,然后再传送到客户端供浏览,因而对客户端浏 览 器要求相对较低,并不要求其必须支持特定的某些脚本语言 如javascript、JScript、VBScript、Perl 等等;由于传送到客户 端 的只是解释后HTM页面,因而有效地保护了面开发者的知识 产权。 Asp组件的开发具有以下优点: 调用方便,节省代码 安全性高 支持事务处理,多组件联合 运行速度快 升级、修改组件不需修改页面,因此扩展性好 第一章 ASP技术概述 1.1 ASP技术简介 ASP就是Active Server Pages 的简称。 ASP是微软公司推出的意图取代CGI的新技术。
12、通过它,用户可以使用几乎所有的开发工具来创建和运行交互式的动态网页,如反馈表单的信息收集处理、文件上传与下载、聊天室、论坛等等,实现了CGI程序的功能但是又比CGI简单,而且容易学习。由于ASP使用基于开放设计环境的Active X技术,用户可以自己定义和制作组件加入其中,使自己的动态网页具有几乎无限的扩充能力。它还可利用ADO(Active Data Object,微软的一种新的数据访问模型)方便地访问数据库,能很好地对数据进行处理 ASP是一套微软开发的服务器端运行的脚本平台,ASP 内含于 IIS当中,目前IIS最高版本为5.0版本 通过 ASP 我们可以结合HTML网页、 ASP
13、指令和 ActiveX 元件建立动态、交互且高效的 WEB 服务器应用程序。同时,asp也支持VbScript和JavaScript等脚本语言,默认为VbScript。 ASP是经过服务器解析之后再向浏览器返回数据,所以有了 ASP 就不必担心客户的浏览器是否能运行你所编写的代码。因为所有的程序都将在服务器端执行,包括所有嵌在普通 HTML 中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度 但是这样也导致一个问题,运行ASP页面相对于普通的html页面要慢一点,因为普通的html页面只需要浏览器就能够解析,而ASP
14、则必须是服务器将整页的代码都执行一篇之后再发送数据。 对于ASP的优点特点,我就不多讲了。但是ASP的安全性还是要提一提,由于代码是需要经过服务器执行之后才向浏览器发送的,所以在客户端看到的只能是经过解析之后的数据,而无法获得源代码,故编写者不用担心自己的代码会被别人剽窃。 1.2 ASP对象,属性介绍 Appliction对象 方法:appliction.lock appliction.unlock 事件:appliction_onstrat appliction_onend Resquest对象 集合:Resques.querystring Resques.form
15、 Resques.cookies Resques.servervariables Resques.clientcertificate 属性:counter= Resques.totalbytes 方法:variant=request.binaryread Response对象 集合:Response.cookies 属性:Response.buffer=booleanvalue Response.expires=intnum ResponseexpiresAbsolute 方法:Response.write Response.redirect Response.cle
16、ar Response.end Response.flush Session对象 属性:Session. SessionID Session.Timeout 方法:Session.abandon 事件:Sub Session_onstart…End Sub Sub Session_onend…End Sub Server对象 属性:Serve.scripttimeout 方法:Serve.createobject(“proID”) Serve.mapPath Serve.HTMLEncode 1.3 ASP网页的运行环境 Asp的运行需要Windo
17、ws操作系统,9x下需要安装PWS;而NT/2000/XP则需要安装Internet Information Server(简称IIS)。 PWS安装与使用: 1.找到“Win98完全版”安装光盘,光盘有add-ons\pws文件夹。在pws文件夹里,双击setup.exe,安装完毕。 2.然后找出C:\WINDOWS\SYSTEM\inetsrv\pws.exe,打开了“个人Web管理器”。 3.在主屏的“发布”显示pws当前状态。如果已经停止,你就点击“启动”。 4.需要设虚拟目录。方法是,在个人Web管理器点击“高级”,然后选“添加”,别名很重要,例如起别名为spa。“浏览”找
18、到你的主页目录所在文件夹,例如 D:\我的作品\我的网页。 5.把读取、执行、脚本都打上勾,确定。 6.把“启用默认文档”和“允许浏览目录”都打上勾。默认文档写为index.htm,index.asp 7.此调试完毕。然后,在IE输入 http://127.0.0.1/spa 就可以浏览你的ASP网页了。 IIS安装与使用 Win2000的IIS是5.0版,是ASP的开发平台。安装方法是,插入Win2000或WinXp安装盘,点击“开始→设置→控制面板→添加/删除程序→添加/删除Windows组件”,然后出现下图,把第一项IIS打上勾就可以了: 提示示插入光盘:
19、 这时一定要找到I386这个目录,并且这两次都需要重新查找路径,一路确定就安装完毕了﹗ 1.4 数据库access介绍 access数据库是微软公司开发的一种面向中小型用户的数据库管理系统,它的界面和OFFICE家族其他工具一样通俗易懂,是一种简单好用的数据库管理工具。 1.5 ASP开发工具介绍 和HTML文件一样,ASP也是纯文本文件。所以,你甚至可以使用“记事本”编辑ASP文件。当然,有个专门设计的代码编辑器,可以使你的工作事半功倍。 一、Visual InterDevVisual InterDev是Microsoft为开发ASP程序专门推出的集成开发环境
20、功能非常强大。 1、 可以对ASP代码进行颜色识别,自动完成代码。例如你输入“response.”之后,VI会自动把response.的方法列举出来,供你选择。 2、 VI中带有一个代码库,调用预先设计好的DTC(DesignTime Control),可以非常简单的实现表单处理、数据库操作等等复杂的功能。 3、 内置数据库管理工具,可以直接进行数据库查询、修改工作。 4、 内有RS(Remote Script),支持服务器、客户机间代码调用。 5、 群体开发协作管理功能,支持多人同时开发一个网站。 但是,VI对HTML编辑的支持不大够,在设计页面效果的方面,不能得心
21、应手。 二、HomeSite如果你的网站不大,ASP程序不是很庞大的话,你可以使用Allaire公司的HomeSite编辑你的ASP程序。作为一个HTML代码编辑器,HomeSite对HTML的支持可以说登峰造极。颜色识别、自动完成、提示帮助等等,可以使你的HTML编辑非常轻松。 在HomeSite4.0中,提供了对ASP的简单支持。有一个ASP工具栏,上面有ASP常用的符号。HomeSite也可以自动使ASP的几个常用词高亮显示,帮助阅读代码。 三、其它还有很多其它的编辑工具可以编辑ASP。只要是一种代码编辑器,可以简化你的编辑工作的,你都可以根据个人喜好选用。如UlraEdit、H
22、otDog、FrontPage 98和Dreamweaver等等。 第二章 网上答疑系统实现 2.1 系统简单介绍: 主要思想:网上答疑系统通过运用ASP+Access数据库来实现。 公享数据库连接文件:conn.inc实现ASP与数据库的连接。 用户登陆界面:login.asp实现用户的登陆 系统主页面:main.asp包含5个功能 1:课程讨论区。学生可以通过留言系统提出自己的课程上的一些疑问。管理员以回复的形式对学生的问题进行解答。 内置管理员帐户admin 密码:admin 2:自由讨论区。学生可以在类似聊天室的环境中对课程上的问题进行相互交流,内置管理员帐
23、户admin 密码:admin 管理员可以使用踢人,禁言等功能。 3:名词解释。通过输入关节字对数据库进行查询,输出查询结果,是一个自动答疑的功能。 4:相关资料。提供一些计算机方面的资料,陆续补充中。 5:网页特效代码。提供一些代码供大家使用。 2.2 常见问题解决: 1. 在ASP中使用SQL语句 在SQL的世界里,最最基础的操作就是SELECT 语句了。在数据库工具下直接采用SQL的时候很多人都会熟悉下面的操作: SELECT what FROM which Table WHERE criteria执行以上语句就会创建一个存放其结果的查询。 举例说明,不妨假设你的数
24、据库内有个数据表,名字是Products ,现在你想取出这个表里的全部记录。然后你就编写了下面的代码: SQL ="SELECT * FROM Products" 以上代码——SQL语句的作用就是取出表内的全部数据——执行后将会选出数据表内的全部记录。不过,要是只想从表内取出某个特定列,比如p_name。那就不能用 * 通配符了,这里得键入具体某列的名字,代码如下: SQL ="SELECT p_name FROM Products" 执行以上查询之后Products 表内、p_name 列的内容就会全被选取出来。 2. .如何用Asp判断你的网站的虚拟物理路径. 使用Mapp
25、ath方法 < p align="center" >< font size="4" face="Arial" >< b > The Physical path to this virtual website is: < /b >< /font > < font color="#FF0000" size="6" face="Arial" > < %= Server.MapPath("\")% > < /font >< /p > 3. 我如何知道使用者所用的浏览器? 使用the Request object方法 strBrowser=Request.Serve
26、rVariables("HTTP_USER_AGENT") If Instr(strBrowser,"MSIE") < > 0 Then Response.redirect("ForMSIEOnly.htm") Else Response.redirect("ForAll.htm") End If 4..SQL常用命令使用方法: (1) 数据记录筛选: sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]" sql="select * from 数据表 where 字段名 like %字段值% or
27、der by 字段名 [desc]" sql="select top 10 * from 数据表 where 字段名 order by 字段名 [desc]" sql="select * from 数据表 where 字段名 in (值1,值2,值3)" sql="select * from 数据表 where 字段名 between 值1 and 值2" (2) 更新数据记录: sql="update 数据表 set 字段名=字段值 where 条件表达式" sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式
28、" (3) 删除数据记录: sql="delete from 数据表 where 条件表达式" sql="delete from 数据表" (将数据表所有记录删除) (4) 添加数据记录: sql="insert into 数据表 (字段1,字段2,字段3 …) valuess (值1,值2,值3 …)" sql="insert into 目标数据表 select * from 源数据表" (把源数据表的记录添加到目标数据表) (5) 数据记录统计函数: AVG(字段名) 得出一个表格栏平均值 COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行
29、数统计 MAX(字段名) 取得一个表格栏最大的值 MIN(字段名) 取得一个表格栏最小的值 SUM(字段名) 把数据栏的值相加 引用以上函数的方法: sql="select sum(字段名) as 别名 from 数据表 where 条件表达式" set rs=conn.excute(sql) 用 rs("别名") 获取统的计值,其它函数运用同上。 (6) 数据表的建立和删除 CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) …… ) 例:CREATE TABLE tab01(name varchar(50),datet
30、ime default now()) DROP TABLE 数据表名称 (永久性删除一个数据表) 5. 如何注册组件 有两种方法。 第一种方法:手工注册 DLL 这种方法从IIs 3.0一直使用到IIs 4.0和其它的Web Server。它需要你在命令行方式下来执行,进入到包含有DLL的目录,并输入:regsvr32 component_name.dll 例如 c:\temp\regsvr32 AspEmail.dll 它会把dll的特定信息注册入服务器中的注册表中。然后这个组件就可以在服务器上使用了,但是这个方法有一个缺陷。当使用这种方法注册完毕组件后,该组件必须要相应的设置
31、NT的匿名帐号有权限执行这个dll。特别是一些组件需要读取注册表,所以,这个注册组件的方法仅仅是使用在服务器上没有MTS的情况下,要取消注册这个dll,使用:regsvr32 /u aspobject.dll example c:\temp\regsvr32 /u aneiodbc.dll 第二种方法:使用MTS(Microsoft Transaction Server) MTS是IIS 4新增特色,但是它提供了巨大的改进。MTS允许你指定只有有特权的用户才能够访问组件,大大提高了网站服务器上的安全性设置。在MTS上注册组件的步骤如下: 1) 打开IIS管理控制台。 2) 展开tr
32、ansaction server,右键单击"pkgs installed"然后选择"new package"。 3) 单击"create an empty package"。 4) 给该包命名。 5) 指定administrator帐号或则使用"interactive"(如果服务器经常是使用administrator 登陆的话)。 6) 现在使用右键单击你刚建立的那个包下面展开后的"components"。选择 "new then component"。 6) 选择 "install new component" 。 7) 找到你的.dll文件然后选择next到完成。
33、 要删除这个对象,只要选择它的图标,然后选择delete。 附注:特别要注意第二种方法,它是用来调试自己编写组件的最好方法,而不必每次都需要重新启动机器了。 6. 常见错误类型: 有三种主要的错误类型: 编译错误: 这种错误出现一般都是代码的语法问题。因为编译错误而导致辞ASP停止运行。 运行错误 这个错误是发生在你准备运行ASP时的。例如:如果你试图给一个变量赋值,但是却超出了 变量允许的范围。 逻辑错误 逻辑错误是最难被发现的,这种错误经常是一种结构错误,电脑是发现不了的。这就需要我们彻头彻尾地检查我们的代码。 因为编译错误一般是和逻辑错误一起发生的,一般
34、都能显示出来,所以我们担心的就只是运行错误。它都终止ASP的运行,而且给用户丢下一堆很不友好的文字。 第三章 各个部分功能及实现 3.1 用户登陆及主界面 将全站文件放在本地站点根目录中,主页文件index.asp。 内容为<% Response.Redirect "login.asp" %>从新定向到用户登陆界面login.asp。 访问一个ASP集合来提取一个值是费时的、占用计算资源的过程。因为这个操作包含了一系列对相关集合的搜索,这比访问一个局部变量要慢得多。因此,如果打算在页面中多次使用Request集合中的一个值,应该考虑将其存贮为一个局部变量。例如将代
35、码写成下面的形式以加快脚本引擎处理速度: strTitle=Request.Form("Title") strFirstName=Request.Form("FirstName") strLastName=Request.Form("LastName") If Len(strTitle) Then strTitle=strTitle & " " If strFirstName="" Then strFullName=strTitle & " " & strLastName Elseif Len(strFirstName)=1 Then strFullName
36、strTitle & strFirstName & ". " & strLastName Else strFullName=strTitle & strFirstName & " " & strLastName End If 用户必须通过输入用户名和密码进入。






