您好,欢迎访问三七文档
当前位置:首页 > 研究生/硕士 > 考研英语 > 计算机专业考研历年考试真题提供
盐城师范学院毕业(设计)第1页共10页基于ASP的在线考试系统刘勇林(计算机系,2001(2)班,01261229号)[摘要]本文论及Internet环境下,基于ASP的在线考试系统的解决方案,介绍了在线考试系统的功能、系统设计以及人机交互的实现,讨论了在线考试系统的实现策略,对系统文件及数据库的保护、系统的安全性等。[关键词]在线考试系统AspAccess数据库1引言随着计算机技术、网络通信技术、多媒体技术和虚拟现实技术在教育领域中应用的不断发展,教育方式正面临着一场巨大的变革。在线考试系统是建立在互联网上的应用系统,客户端的配置较为简单,考试可以不受地域的限制.一个完备的在线考试系统可以使用户在网上学习后及时检验自己的学习效果,以发现自己的不足,提高学习效率.在线考试系统中试卷的生成、提交和批阅等都可以在网络上自动完成.只要形成一套成熟的题库就可以实现考试的自动化.这样,教师所要做的只是精心设计不同类型的试题和题库的维护,而不是组织考试,从而大大减轻了教师的负担。2ASP技术概述2.1定义和特点ASP(ActiveServerPages)是Microsoft于1996年11月推出的Web应用程序开发技术是一种服务器端的脚本开发环境。通过ASP能创建和运行动态、交互和高效的页面组成的Web服务程序。对于程序员,所谓ASP,简单地说,就是在HTML文件中引入了两个扩展的成对的HTML标记〈%和%〉,同时文件的扩展名改为.asp。同HTML文件一样ASP文件也是文本文件,包括文本、HTML标记和ASP脚本语句(用〈%和%〉界定符标记)。它以.asp为扩展名,区别于一般的HTML文件。任何文本编辑器都可以制作ASP文件。ASP是微软公司IIS3.0中的一个组件,它实际上是一个服务器端的脚本环境。当脚本运行在服务器上(注意不是客户机)时,Web服务器完成所有的工作,包括动态生成HTML页面并传送到用户的浏览器上。程序员不必担心浏览器是否能处理你的页面,因为Web服务器已经全部替浏览器完成页面的转化工作,对浏览器而言,见到的还是普通的HTML页面。由此可见,盐城师范学院毕业(设计)第2页共10页程序员可以通过ASP直接添加可执行的脚本到HTML文件中。这样HTML开发和脚本开发成为同一件事情,使动态交互页面的开发成为一个整体,开发与维护工作变得简单、快捷。程序员可以集中精力于Web站点外观的设计,用一些动态的元素修饰你的页面。ASP了提供VBSCRIPT和JavaSCRIPT两种脚本引擎,缺省为VBSCRIPT。由于ASP采用了与微软公司风靡世界的编程语言VisualBasic一脉相传的VBScript语言,并将其搬到了服务器端,解决了浏览器的兼容性问题,同时又延续了ActiveX的组件思想,用户可以用VB,VC等工具开发服务器端的ActiveX组件,以扩展ASP的功能。它最大的特点是将VBScript的程序直接嵌入HTML文件中,用任意一个文本编辑器就可以编写一个完整的ASP页面。综合以上,ASP应用程序具有以下的突出优点:*可以完全同HTML集成。*易于创建,不需要手动编译和连接。*面向对象和易于用ActiveX组件扩展。*对客户端没有特别的要求,只要有一个浏览器就行。*安全性和保密性较好。需要说明的是,ASP不是脚本语言,而是一种服务器端的脚本语言开发环境,可以把它理解为一种模型。它负责解释插入HTML页面的脚本描述。ASP必须在安装了以下软件的平台上才能运行:*WindowsNTServer上的MicrosoftInternetInformationServer3.0以上版本*WindowsNTWorkstation上的MicrosoftPeerWebServices3.0*Win95或Win98上的MicrosoftPersonalWebServerMicrosoftPersonalWebServer(PWS)4.0是解决个人信息共享和Web开发需要的方案。PWS是加速和简化Web站点设置(从自动创建个性化主页到文档的拖放式发布)的桌面Web服务器。在企业Intranet上,PersonalWebServer可用于以自身的格式快速共享文档,或者将文档转换为HTML,然后使用PWS在不同的操作系统共享这些文档。2.2ASP页面的结构ASP的程序代码简单、通用,文件名由.asp结尾,通常由三部分构成:1.标准的HTML标记:所有的HTML标记均可使用。2.ASP语法命令:位于%%标签内的ASP代码。3.服务器端的include语句:可用#include语句调入其它ASP代码,增强了编程的灵活性。盐城师范学院毕业(设计)第3页共10页3试卷系统的设计分析3.1概述网上考试系统从功能上可分为考生考试程序和考试管理程序,考生考试程序主要实现考生登录的身份验证、试题抽取、考试时间的控制以及接收考生所选择的答案。考试管理系统主要实现学生信息库、学生答题信息库和试题库的管理。此外,系统还要规定每个考生都要从题库中随机抽题。根据上述需求分析,基于Web的网上考试系统可以建立在Web服务器IIS上,前台客户端用通过浏览器IE访问,服务器系统建立在WebSever和数据库系统之上。3.2系统模块分析(1)考试模块:由于采用Web技术实现考试能够在任何时候、任何地方进行,因此出于安考虑考试要严格控制考试记时。(2)管理模块:该模块下设五个子模块:①添加试题模块该模块是从系统管理模块中分离出来的一个子模块,这样可以减轻管理员录入试题的负担,同时也保证了系统的其它设置信息不会被轻易地篡改。②删除试题该模块也是从系统管理模块中分离出来的一个子模块,这样可以减轻管理员删除试题的负担。③列出试题答案这是本系统的一个特色模块,由于此系统主要用于自测,有此功能考试者可以及时订正自己的错误。④修改密码此模块主要用于管理员密码的修改。⑤退出在考试结束时应退出本系统,保证考试的安全性。(3)成绩查询模块:为了能让考生及时、方便地了解自己的考试成绩,查询模块也采用Web方式实现,考生在在交卷后,系统能立即给出分数,方便考试者及时调整。(4)数据库:网络考试系统离不开数据库系统,不论是试题,还是考生信息都需要放在数据库中,而且数据独立于程序而存在,具有较好的安全性。本文的实现方案利Access2000数据库系统来实现。4在线考试系统的具体实现4.1用Asp来访问数据库,并动态获得数据过程简介4.1.1创建数据源名要通过ODBC访问数据库,前提就是我们必须配置好DSN(即架好桥梁)。一个DSN盐城师范学院毕业(设计)第4页共10页必须包含一些信息:1.DSN的名字:就是给这座桥取个名字,当程序访问数据库时,给系统传的就是这个名字,而不是数据库的实际名称。2.ODBC驱动程序类型:只有指出驱动程序类型,在我们操作数据库时,系统才会知道调哪个ODBC驱动程序来服务.Windows的“控制面板”,找到图标“32位ODBC”(有一些系统上叫“ODBC”,“32bitODBC”),双击,出现一对话框,输出“DataSourceName”为“dsnl”,单击“OK”,再单击“选择数据库”,选中你要使用的数据库,例如“C:\bl.mdb”,这样就OK了。以后我们就用“dsnl”来访问数据库“C:\bl.mdb”,而不直接用文件名“C:\bl.mdb”,这样做的好处是一旦我们改变了文件名或存放地,就不用再一个一个的修改程序中所有该数据库的名称,而只需修改DSN中的配置就可以了4.1.2创建数据库链接用过VB的人都知道,DAO中有链接(Connection),RDO中有adoConnection。链接用以保持一些关于正在访问的数据的一些状态信息,以及链接者信息。ASP文件中如果要访问数据,必须首先创建与数据库的链接,其语法如下:setMconn=ServercreateObject(“ADOBDCONNECTION”)这条语句创建了连结对象mConn,接下来:mConn.Open“dsn1”,“usemane”,“password”这条语句打开链接,用到了DSN,本例为“dsnl”。其后的两个参数分别是访问数据库的用户名和口令,为可选参数。注意:必须有以上两个小步骤,因为链接对象的创建与打开是两回事,只有打开了才真正可以用。4.1.3创建数据对象ADO中的数据对象通常保存的是查询结果。RecordSet是ADO中最复杂的对象,有许多属性和方法,灵活运用,可以达到许多好的效果。与DAO中的一样,RecordSet保存的是一行行的记录并标有一个当前记录。以下是创建方法:SetRecordset=mConn.Execute(sqtStr)这条语句创建并打开了对象RecordSet,其中mConn是先前创建的链接对象,sqtStr是一个串,代表一条标准的SQL语句,例如:sqlStr=“SELECT*FROMtabl”SetRecordset=mConn.Execute(sqlStr)这条语句执行后,对象Recordset中就保存了tabl中的所有记录。在ASP文件中如何应用返回结果,本文将在文末给出一个实例说明。4.1.4操作数据库Execute方法的参数是一个标准的SQL语句串,所以我们可以利用它方便地执行数据插入、修改、删除等操作,例如:盐城师范学院毕业(设计)第5页共10页sqlStr=“INSERTINTOtablVALUES(1,2)”Mconn.Execute(sqlStr)/执行插入操作sqlStr=“UPDATEtablSETfieldl=3”Mconn.Execute(sqlStr)/执行修改操作4.1.5关闭数据对象和链接对象在使用了ADO对象之后,一定要记住关闭它,因为它使用了一定的服务器资源。通过调用方法close实现关闭,然后再释放它。RecordSet.closeSetRecordSet=Nothing/关闭创建的数据对象mConn.closeSetmConn=Nothing/关闭创建的链接对象4.1.6Response对象Response对象是用来控制发送给用户的信息,包括直接发送信息给浏览器、重定向浏览器到另一个URL或设置cookie的值语法:Response.collection/property/method4.1.7Request可以使用Request对象访问任何基于HTTP请求传递的所有信息,包括从HTML表格用POST方法或GET方法传递的参数、cookie和用户认证。Request对象使您能够访问客户端发送给服务器的二进制数据。Request的语法:Request[.集合|属性|方法](变量);4.2数据库连接在本系统中具体实现如下4.2.1举例说明:在添加试题模块中添加一道试题如图1盐城师范学院毕业(设计)第6页共10页图1添加页面4.2.2ACCESS数据库中立即得到显示如图2图2数据库页面4.2.3具体代码如下:盐城师范学院毕业(设计)第7页共10页title在线考试系统--数据库连接/title%'optionexplicit强制定义变量第一行使数据库支持中文,默认脚本语言@LANGUAGE=VBSCRIPTdimconn,rsSetconn=Server.CreateObject(ADODB.Connection)conn.openProvider=Microsoft.Jet.OLEDB.4.0;DataSource=&Server.MapPath(stry_exercise.mdb)'新版本连接数据库'conn.Opendriver={MicrosoftAccessDriver(*.mdb)};dbq=&Server.MapPath(stry_exercise.mdb)'老版本连接数据库Setrs=Server.CreateObject(ADODB.Recordset)'创建游标%5考试首页面的实现5.1具体页面如图3图3首页面5.2首页关键ASP代码如下:①从ACCESS数据库随机提取试题功能的实现:!
本文标题:计算机专业考研历年考试真题提供
链接地址:https://www.777doc.com/doc-2097761 .html