ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:76.03KB ,
资源ID:2133037      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-2133037.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于WEB的考核系统的研究.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于WEB的考核系统的研究.docx

1、基于WEB的考核系统的研究基于WEB的考核系统的研究The research to the exam system concerned with web 萧山电大 陈懿炜摘 要 Summary 基于WEB的考核系统通过DCOM组件对象使客户机与服务器进行通讯,在WINDOWS环境下,服务程序的代码以动态连接库(DLL)的形式实现.基于IIS平台,结合ASP技术编写WEB页,使用ADO对象连接远程数据库,考试更灵活,功能更完善。The exam system concerned with web can make the server and clients communicate by DCO

2、M objects. In windows, the codes of serving program can be realized with the form of DLL. The exam system can be more convenient and perfect by using the ADO combined with ASP technology to edit web pages based on ISS.关键词 DCOM IIS ADO ASP1.历史上的考核系统计算机无纸化考试替代传统的书面答题,从最初在DOS环境下操作,到后来在WINDOWS界面中,一直到如今的

3、基于WEB的考核,这都是与计算机技术的飞速发展密不可分的. 如今人们只要上了INTERNET,就可以足不出户的参加任何一次在网上的考试,我们在研究基于WEB的考核系统时,通过DCOM对象来实现客户/服务器模型的中间层.并使用了ASP(ACTIVE SERVER PAGE)技术,使基于WEB的考试更灵活,功能更完善。在考核系统的历史中,DOS环境下的考试无疑是最原始的,但就当时传统的书面答卷来说,也无疑是历史性的突破。DOS环境下使用了NOVELL的LAN解决方案,考生从无盘工作站登陆服务器,就被映射到服务器上先前已分配给考生的一对一的共享目录下,考核系统作为一组共享的文件存放在服务器上另一共享

4、目录下,考生在自己的目录中运行考核系统。在这种模式中,五六十个考生一起对考核系统进行操作,势必使服务器性能骤然下降,减慢考试速度。这受到当时软硬件技术的限制,随着计算机技术的飞速发展,WINDOWS32位系统的产生和推广,WINDOWS环境下的考试成为了可能,基于客户/服务器模型,考核系统应用程序被分给了客户机和服务器运行,在客户机和服务器上的应用程序一起协调工作以完成特定的任务。客户/服务器结构需要两个实体来完成一个进程。当客户机向服务器发出请求,服务器为客户机提供完成这个请求的服务。例如:一个SQL的查询过程是这样进行的:客户机的应用程序发出一个SQL查询请求,服务器处理这个查询,并把查询

5、的结果返回给客户。这使得数据传输更有效,减少了网络的通讯量,并极大的提高了操作的性能。但由于是客户/服务器结构,在每一台客户机上都要安装部分的应用程序,这使考前初始化考试环境的工作量大大增加了,浪费了很多人力和时间。2.基于WEB的考核系统2.1三层及多层客户/服务器体系 我们在研究基于WEB的考核系统时,也是构架客户/服务器结构之上,使用三层客户/服务器体系,即数据层,中间对象层,客户层。体系结构见下图:多层开发要优于传统的客户/服务器编程。这是因为多层应用系统能够将客户/服务器应用系统的活力和框架与主机系统的健壮性和可伸缩性结合起来。传统客户/服务器系统设计上的局限性之一,就是软件一般不能

6、有效地分层处理。客户/服务器软件常常是一体化的。在一体化的软件中,不同类型操作的程序代码是混在一起的,这种代码都被编译为传统的Windows EXE 和DLL 。实践已经证明,一体化软件不能满足许多客户/服务器应用系统对灵活性和可伸缩性方面的要求。在许多传统的客户/服务器系统中,对服务器软件的一个很小的修改,都会导致对客户软件进行大规模的更新。对客户软件进行大规模的更新往往是由于EXE和DLL之间固有依赖性引起的,因而,在多层应用系统中,必须避免各层之间固有的依赖性。要做到在更新某一层上的软件时,不必更新相邻层的软件。 基于WEB的考核系统的客户应用程序是一个WEB浏览器,运行在客户机上并只含

7、有用户界面代码。这样每次更新应用程序时都不必更新所有客户机。当需要时,所有的用户接口及业务逻辑都可以从WEB服务器上以动态的HTML内容,Java applets, ActiveX控件,VBScript, JaveScript等等的形式下载。而业务逻辑一般被移到中间对象层中,在考核系统中,中间层软件运行在其自己的计算机上。事实上,将WEB作为客户/服务器应用程序的基础结构使用完全解决了软件分布的问题。考核系统的中间层主要通过DCOM组件来实现。2.2关于DCOM技术 分布式组件对象模型,亦称作DCOM。DCOM是COM的扩展,它可以支持不同计算机上组件对象与客户程序之间或者组件对象之间的相互通

8、信,使基于COM的组件在位于不同机器上的两个进程间协作。对于客户程序而言,组件程序所处的位置是透明的,这样我们可以不必编写网络代码去处理分布式组件跨网络交互所需要的通信。利用DCOM,就可以在服务器上放上实际功能,客户像在本地一样访问这些功能。组件改变时,可以在服务器上一次替换,而不必到每台客户机上替换。放好服务器组件后,所有客户机都得到更新。 DCOM组件建成在进程内(表示组件与所在应用程序运行在同一进程空间。组件与所在应用程序共享相同地址空间。进程内组件用DLL建立)或进程外(表示组件与所在应用程序不运行在同一进程空间。组件与所在应用程序不共享相同地址空间。进程内组件用EXE建立)服务器,

9、仍然需要注册,但位于不同机器上。组件在客户机机器上注册时,其实际地址信息包含组件在哪个远程计算机上运行。利用这个信息,客户机软件知道连接哪台计算机以访问该组件。调用组件时,从编程人员角度看,就是生成DCOM对象的实例,和任何其它组件一样。运行系统弹到注册处查阅正要建立的注册表中的组件项目。假设它找到所要内容,则系统知道组件位于哪台机器上。请求组件时系统连接网络上的这台机器,作出请求。任何所需的数据都经过网络返回客户机软件。而用户不必考虑通信机制和定位组件,这些均由操作系统处理。可以说DCOM是一个高层网络协议,DCOM协议也被称为对象RPC(ORPC,object remote procedu

10、re call),它建立在DCE RPC协议的基础上,可以用于各种基于组件的分布式系统。ORPC建立了一套面对对象的远程调用规范,指定了如何在网络上进行调用、对对象的引用如何表示和维护。ORPC同时可使用于Internet和Intranet网络环境中组件之间的通信。在Internet和Intranet网络环境下,ORPC仍使用标准的RPC数据包,附加上专用于DCOM的一些信息接口指针标识符(IPID,interface point identifier)、版本信息和扩展信息作为调用和返回的附加参数进行传递,其中IPID表示调用被处理的远程机器上特定对象的特定接口。编程人员使用DOCM时,用某些

11、变元调用接口上的方法。DCOM中将方法调用变为RPC调用。这里,过程等价与组件中的方法。同样,DCOM接口上用方法调用DCOM服务时,内部变成远程过程调用,调用DCOM服务组件中的方法。这种转变很容易,因为组件调用的机制与RPC调用的机制非常相似。编程人员使用组件是,实际上是在查找接口描述的方法组。编程人员使用RPC时,只查找其中一个方法。过程也是由接口定义,因此RPC与组件调用之间的相似性是显而易见的。差别在于组件调用使用的接口将方法组合在类的概念上,而PRC接口则不发生组合,每个方法有一个接口。但我们在开发DCOM组件时并不需要直接在ORPC层次上进行开发,因为组件程序和客户程序实际上只跟

12、存根代码和代理对象进行通信。存根(stub)和代理(proxy)是COM的两个特殊组件。存根位于服务器进程中,处理与客户机的通信。代理位于客户机进程中,处理与服务器的通信。在VC+中我们可以使用MIDL工具来产生代理/存根代码,MIDL是Microsoft Interface Definition Language,即接口定义语言。在开发DCOM组件时,只要编写每个自定义接口的IDL描述,然后用MIDL工具产生C源码,再经过编译连接得到代理/存根组件。如果使用VB来开发DCOM组件将比VC+简单的多,Visual Basic环境隐藏了许多关于DCOM的细节。2.2.1使用VB建立DCOM服务器

13、1. 启动VB,在New Project对话框中选择ActiveX DLL。2. 设置项目属性,我们使用无用户界面的单元线程。3. 设置类的属性,对类的Instancing属性设置。这个属性确定其他应用程序是否生成组件的实例,如何生成。我们设置为MultiUse,表示其它应用程序可以生成这个类的实例组件的一个实例可以生成类的多个实例。(1)编程类,DLL接口,通过声明公有变量来设置DCOM组件接口的属性 例:Public FailNumber As Boolean 准考证号是否存在Public NewNumber As Boolean 是否是新用户Public strWindowsTitle

14、As Str 生成Windows试题的题目通过编写Function设置DCOM接口的方法 例:InitSQLServer() 初始化SQL数据库InitStudentNumber() 取得准考证号CheckUsers() 初始化考生目录(2)编译DCOM组件选择File Make xxx.dll.(3)手工注册DCOM组件,在NT上将这个DLL复制到WINNT的SYSTEM32目录下,并用Regsvr32对DLL注册。2.3 WEB考核系统动态HTML的实现1基于IIS平台和ASP技术我们可以灵活的编写动态WEB IIS 服务平台结构图 IIS是Microsoft的WEB服务器,它通过支持AS

15、P,使得动态、交互的WEB应用程序开发迅速流行。IIS对使用VBScript、JavaScript以及CGI等开发应用程序都提供了支持。 2.3.1 ASP概述与模型 Microsoft Active Server Pages(ASP)是服务器端脚本编写环境,使用它可以创建和运行动态、交互的 Web 服务器应用程序。使用 ASP 可以组合 HTML 页、脚本命令和 ActiveX 组件以创建交互的 Web 页和基于 Web 的功能强大的应用程序。ASP 应用程序很容易开发和修改。 包含在 Windows NT Option pack 中的 Microsoft Transaction Serve

16、r(MTS)可以降低在服务器上构造程序的复杂性和费用。MTS 可以解决开发那些保密性强的、可分级的以及可靠的 Web 应用程序的复杂性问题。浏览器从 Web 服务器上请求 .asp 文件时,ASP 脚本开始运行。然后 Web 服务器调用 ASP,ASP 全面读取请求的文件,执行所有脚本命令,并将 Web 页传送给浏览器。由于脚本在服务器上而不是在客户端运行,传送到浏览器上的 Web 页是在 Web 服务器上生成的。所以不必担心浏览器能否处理脚本:Web 服务器已经完成了所有脚本的处理,并将标准的 HTML 传输到浏览器。由于只有脚本的结果返回到浏览器,所以服务器端脚本不易复制。用户看不到创建他

17、们正在浏览的页的脚本命令。ASP 提供内建对象,这些对象使用户更容易收集通过浏览器请求发送的信息、响应浏览器以及存储用户信息(1)Application 对象可以使用 Application 对象使给定应用程序的所有用户共享信息。(2)Request 对象可以使用 Request 对象访问任何用 HTTP 请求传递的信息,包括从 HTML 表单用 POST 方法或 GET 方法传递的参数、cookie 和用户认证。Request 对象使您能够访问发送给服务器的二进制数据,如上载的文件。(3)Response 对象可以使用 Response 对象控制发送给用户的信息。包括直接发送信息给浏览器、重

18、定向浏览器到另一个 URL 或设置 cookie 的值。(4)Server 对象Server 对象提供对服务器上的方法和属性进行的访问。最常用的方法是创建 ActiveX 组件的实例 (Server.CreateObject)。其他方法用于将 URL 或 HTML 编码成字符串,将虚拟路径映射到物理路径以及设置脚本的超时期限。(5)Session 对象可以使用 Session 对象存储特定的用户会话所需的信息。当用户在应用程序的页之间跳转时,存储在 Session 对象中的变量不会清除;而用户在应用程序中访问页时,这些变量始终存在。也可以使用 Session 方法显式地结束一个会话和设置空闲会

19、话的超时期限。(6)ObjectContext 对象可以使用 ObjectContext 对象提交或撤消由 ASP 脚本初始化的事务。2.3.2使用form表单收集 Web 信息使用HTML 表单(form)是收集 Web 信息最常用的方法,是在 Web 页上提供用户界面控件的特殊的 HTML 标记的排列。文本框、按钮和复选框都是典型的控件,这些控件使用户和 Web 页实现交互,并且将信息提交给 Web 服务器。下面源代码产生一个表单,在表单中,我们通过ASP技术连接远程数据库,通过循环逐个读出数据库中的记录,并将其生成在HTML页中,这样用户可以进行12道选择题操作,用户只要在四个RADIO

20、按钮中选其一,就完成了对一道选择题的操作,在这个表单中,包含了一个将这些信息提交给 Web 服务器的按钮。 % dim code code=1 while code . input type=radio name= value=A input type=radio name= value=B input type=radio name= value=C input type=radio name= value=D 处理 ASP 输入的表单,在表格向 Web 服务器提交信息时,用户的 Web 浏览器请求用 HTML 标记的 ACTION 属性所指定的 .asp 文件。这个.asp 文件包含了处理

21、表单值(如显示结果表或从数据库查询信息)的脚本。下面是我们处理提交信息的源代码:对每一个提交上来的信息Request.Form(qus & i) 进行分析,如果考生少做了一题那么这一题的答案被标识为e,通过循环就处理了全部的数据。2.4在WEB中调用DCOM组件在 ASP 页上用 Server.CreateObject 创建的对象在该页的生存期内一直存在。该对象对该页的任何脚本命令都是可访问的,当 ASP 处理完该页时,该对象即被释放。因此,对象具有该页的作用域或生命周期。 在用 Visual Basic 或 VBScript 编程时,要注意在 ASP 处理完该页之前不要释放对象。一旦在 Se

22、ssion 对象中存储了对象,您就可以从应用程序的任何页中访问该对象。下面的语句使用session创建对象实例:set tool=Server.CreateObject (prjc.clsc)set session(objlace)=tool当创建了tool对象后,我们把它赋给objlace这个session对象,这样在其他ASP页面中可以把objlace这个session对象赋给另一个变量,在这个页面我们就可以使用开始时创建的组件了,例如:set ccc=session(objlace)ASP程序只是在服务器上运行,我们的考核系统需要对客户机进行本地操作,这样我们必须知道DCOM的对外接口。

23、 在DCOM模型中,对象本身对客户来说是不可见的,客户请求服务时,只能通过接口进行。每一个接口都由一个128位的全局唯一标识符(GUID,Globally Unique Identifier)来标识。客户通过GUID获得接口的指针,再通过接口指针,客户就可以调用其相应的成员函数。至于具体功能如何实现,则完全由对象的接口内部实现。 一般来说,接口是不变的,只要客户期望的接口在组件对象中还存在,它就可以继续使用该接口所提供的服务。对象可以支持多个接口,因此对组件对象的升级可通过增加接口的办法实现,这样得到的新接口可以不影响老接口的使用。新客户可使用新增的接口,老客户可在不更新代码的情况下继续使用。

24、新客户可使用新增的接口,老客户可在不更新代码的情况下继续使用老的接口。 客户如何来标识DCOM对象呢?与接口相识,每个对象也用一个128位的GUID来标识,称为CLSID(class identifier,类标识符或类ID),用CLSID标识对象可以保证(概率意义上)在全球范围内的唯一性。只要系统中含有这类DCOM对象的信息,并包括DCOM对象所在的模块文件(DLL或EXE)以及DCOM对象在代码中的入口点(实际过程要复杂的多),客户程序就可以由CLSID来创建DCOM对象。实际上,客户成功的创建对象后,它得到的是一个指向对象某个接口的指针,因为DCOM对象至少实现一个接口(没有接口的DCOM

25、对象是没有意义的)。所以客户就可以调用该接口提供的所有服务。根据DCOM规范,一个DCOM对象如果实现了多个接口,则可以从某个接口得到该对象的任意其他接口,所以我们得到了一个接口指针后,它就可以调用该对象所有接口提供的服务。从这个过程我们也可以看出,客户与DCOM对象接口只通过接口打交道,对象对于客户来说只是一组接口。 在基于WEB的考核系统中,我们使用CLSID来标识DCOM对象。在网页中我们使用标记创建对象。 例如: 这样就可以使用由 prjc.dll这个DCOM组件所创建的实例对象Test,下面是我们在考试系统中引用Test对象打开EXCEL习题的部分代码: SUB BUTTON1_ON

26、CLICK() Test.InitSQLServer ccc,ccc Test.InitStudentNumber Test.ExcelEx END SUB 在这段源码中,我们可以充分的看到使用DCOM组件的优点,它封装了程序代码,只提供使用对象的方法,这样使程序更加灵活,组织层次性更强。而且由于使用了DCOM技术,对客户机的要求降低了,通过浏览器就可以实现考核。2.5远程数据库的连接(ADO数据对象的使用)ADO 是为 Microsoft最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程序层接口。OLE DB 为任何数据源提供了高性能的访问,这些数据源包括关系和非关系

27、数据库、电子邮件和文件系统、文本和图形、自定义业务对象等等。ADO 在关键的 Internet 方案中使用最少的网络流量,并且在前端和数据源之间使用最少的层数,所有这些都是为了提供轻量、高性能的接口。之所以称为 ADO,是用了一个比较熟悉的暗喻,OLE 自动化接口,ADO数据对象也遵循了COM/DCOM接口规范。ADO 之所以具有强大的功能和灵活性,是由于它可以连接到不同的数据提供者并仍能使用相同的编程模式,而不管给定提供者的特定特性是什么。ADO编程模型:ADO 的目标是访问、编辑和更新数据源,而编程模型体现了为完成该目标所必需的系列动作的顺序。ADO 提供类和对象以完成以下活动: 连接到数

28、据源 (Connection)。可选择开始一个事务。 可选择创建对象来表示 SQL 命令 (Command)。 可选择在 SQL 命令中指定列、表和值作为变量参数 (Parameter)。 执行命令(Command、Connection 或 Recordset)。 如果命令按行返回,则将行存储在缓存中 (Recordset)。 可选择创建缓存视图,以便能对数据进行排序、筛选和定位 (Recordset)。 通过添加、删除或更改行和列编辑数据 (Recordset)。 在适当情况下,使用缓存中的更改内容来更新数据源 (Recordset)。 在使用事务之后,可以接受或拒绝在事务期间所作的更改。结

29、束事务 (Connection)。 以下是在ASP页中使用ADO数据对象的源代码:% no=session(strNumber)sConnection = Provider=SQLOLEDB;User ID=sa;Password=;Initial Catalog= & dBase & ;Data Source= & Address set myConnection = server.createobject(ADODB.CONNECTION)myConnection.open sConnection set rs=Server.CreateObject (ADODB.Recordset) selectSQL=select * from Answer_Table where UserNumber= & no & rs.open selectSQL,myconnection stnumber=rs(SelectNum)rs.close set rs = se

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2