基于b%2fs的学生学籍管理系统的设计与实现

基于b%2fs的学生学籍管理系统的设计与实现

ID:33396640

大小:1.44 MB

页数:58页

时间:2019-02-25

上传者:U-22107
基于b%2fs的学生学籍管理系统的设计与实现_第1页
基于b%2fs的学生学籍管理系统的设计与实现_第2页
基于b%2fs的学生学籍管理系统的设计与实现_第3页
基于b%2fs的学生学籍管理系统的设计与实现_第4页
基于b%2fs的学生学籍管理系统的设计与实现_第5页
资源描述:

《基于b%2fs的学生学籍管理系统的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

华中师范大学硕士学位论文基于B/S的学生学籍管理系统的设计与实现姓名:方东菊申请学位级别:硕士专业:计算机应用技术指导教师:肖德宝2002.5.1 摘要/随着Internet/Intranet的快速发展,数据库技术的进一步成熟,建立能业务化工作的学生学籍管理系统是当前高校管理部门的追切要求习文章参考了目前国内高校学生管理的发展情况及管理模式,借鉴了目前国内先进的大型管理系统,对高校学生学籍管理进行了总体设计,建设“基于Web的”运行平台,实现方便快捷的前端Web登录和查询,采用了VisualFoxpro2000作为后台数据库,采用ASP及ADO技术对数据库进行操作及维护。首先,论文讨论了Web数据库的发展历程;(从最早的主机/终端结构到近年来较流行的客户机/服务器机构,再到目前最先进的浏览器/服务器结构。讨论结果是:浏览器/服务器模式中的客户机使用的是统一的浏览器界面格式,便于操作,简单易行,有利于提高工作效率,易实现不同网络间的连接。因此学生学籍管理系统采用的就是浏览器/服务器模式。√再者,论文讨论了访问Web数据库的五种方法,对于在Web服务器端提供中间件的方法有两种:CGI和API。慎中,CGI效率低,速度慢;API虽然克服了CGI的缺点,但兼容性差,开发难度大寸通过比较五种方法的优缺点,得出的结论是:用ASP技术访问学生成绩数据库具有易实现、功能强大、效率高等优点。最后,论文提出了用ASP和ADO技术相结合来实现学生成绩数据库的访问,得出的结论是:用ASP+ADO访问服务器端的数据库的实质就是利用ADO对象访问数据源。C但是这种方案也有它的不足之处:由于ADO是以一个本地数据访问组件,而ASP+AD0方案中,ADO在Web服务器端使用,因此该方法只能对服务器端数据库进行访问,而当数据库服务器与Web服务器不在同一计算机上时,这种方案就行不通;再者由于用户每次查询都必须连接服务器,然后等待回应, 因此,对于需要频繁访问数据库的应用如“网上办公”就显得过于繁琐。基于B/S结构的武汉职业技术学院学生学籍管理系统(以下简称SSMS)就是利用ASP技术和Web数据库相结合实现的,它具有数据输入、查询修改、补考处理、毕业处理和报表输出等功能。它的成功实现对提高高校的学生管理水平具有非常重要的意义。应用表明:学生学籍管理系统用户界面友好,操作灵活方便,可大大提高工作效率,基本实现“无纸化办公”。q关键词:c/s结构B/s结构web数据库√ASP三层式结构√ADO对象三级客户机/服务器体系学生学籍管理系统V AbstractWim吐坞developmentofIntemet/Intranetandthematurityofdatabase,Itisexigentrequesttoestablishstudentmanageinformationsystem。Bythinkingthedevelopingofktudentmanageinchinasiteswhichhowtobemanagedtoday.tllepaperbuildsthesiteofstudentmanageinformationsystem。Bythissite,studentcanregisterandsearch。VFPisitsdatabaseonthebackground。ItcanaccessdatafromdatabasebyusingASPandADOtechnology。First,thesisdiscussedtheWebdatabaseprocess:FromtheearliestHost/TerminaltothepopularClient/Serverinrecentyears,nowfirstenterofBrowsedServer.thediscussionis:Browser/ServeriSanunitedbrowserinterfaceformat,convenientforoperation,inbriefeasyline,benefittotheexaltationtheworkefficiency,andeasilyrealizesdifferentnetworkofconjunction.ForthisreasonstudentitisbrowsedserverthatSSMSadoptthemode.Furthetmore,fivekindsofmethodsthatdiscussedtheinterviewWebdatabasesofthesis.fort11.emethodthatintheW曲servercarrytheofferinginthecenterpiecehavetwokind:CGIandAPI.Amongthem,CGI’SefficiencyiSlOW,thespeedisslow;APIovercametheCGI’weakness,dcvolpthepermit,conclusionis:UsetheASPtechniqueinterviewingtheSSMSrealizeseasily,thefunctionisstrongandbig,efficiencyhighete.FinallBthethesisbringupthatusingASPandADOtechniqueinterviewSSMS,theconclusionis:theASP+ADOvisittingtheserverdatabasethatcalTyistomakeuseoftheADOtheobjecttheinterviewthedata.Butthiskindofprojectcontainitslack:becausetheADOiSanadvedatavisitthemodule.butintheASP+ADOprojcot,ADOisusedinthew曲theserver.andforthisreasonthemethod’sCaninterviewthedatabaseofserver,butbedatabaseserverandWebthei;; ⑧硕士学位论文MASl’ER’S’1IIESISserverisnotatthesamecomputer,thiskindofprojectlineimpassability;Furthermorebecauseeverytimesearchofcustomermustlinktheserver,thenwaitingforrespond,therefore,fortheapplicationthatdemandmultifariousinterviewdatabasesuchasthe“thenetworktransact”seemtobetoomuchtedious.wedesigntheSSMSbasedonbrowser/serverstructure。Thesystemmayfulfilldatainput、inquirycorrection、examinationdisposal、graduationdisposalandreportprintment。SSMSisveryimportmemtoimprovethemanagementlevelinthehigllseminary.Thepracticeshowthatthesoftwarehassuchcharactedsticsas疗iendperfaceandflexibleoperation.Keyword:Client/ServerBrowser/ServerWebDatabaseThreeLayersStructureASPADOObjectThreeTieredClient/ServerSSMSMC 第一章绪论人类社会已经踏入21世纪的门槛,蓦然回首:20世纪90年代以来,全球信息技术发展明显加快。由于芯片技术、电脑软件技术突飞猛进地提高,电脑功能正日趋强大。随着Internet的出现,人们已经认识到,周围的一切正在发生异乎寻常的变化:“奔腾”赞歌唱遍各个角落;多媒体计算机迅速走进家庭;上网已成为人们日常生活的一部分;www浏览使你足不出户便知天下事;各种应用软件更是应有尽有。事实证明:网络的普及及应用大大推动了计算机应用的发展。从国防军事、交通运输、财政金融、科学教育等大型系统,到一个企业、一个机关、一所学校、一座饭店的内部管理,几乎都采用了计算机网络管理。网络发展已经超越了国界,跨越了地域,使地球上的人们似乎生活在一个“地球村”里。在新的世纪里,信息技术迅猛发展,而网络技术和数据库技术又是信息技术最主要的核心。于是,基于Web的数据库也就应运而生了。随着Internet/Intranet技术的发展,开发基于Web的应用程序势在必行,数据库技术更是需要和Web技术相结合,才有更为广阔的前景。ASP作为微软推出的新兴Web应用程序开发技术,在数据库应用方面发挥着越来越重要的作用,同时浏览器/服务器模式的数据库体系也正逐渐成为数据库结构的主流。1.1研究这个系统的重要性Internet的普及和应用使人们的现代生活方式发生了深刻的变化,学校总是处于接受新知识的最前沿地带,于是校园网的应用和管理系统的开发也正蓬勃发展并发挥着巨大的作用,远程教育、网上查询成绩、网上招生等等对于我们已不再陌生。然而。目前很多高校的学生管理仍然采用的是传统的管理模式:分发试卷给学生考试、老师领表手工登录成绩、学生查询成绩还必须到教学管理部门。 事实证明:这种传统的管理模式既浪费人力资源,又不利于提高工作效率。于是,开发一套学生学籍管理系统已经迫在眉睫。基于上述原因,我们设计并开发了这套学生学籍管理系统。1.2现有系统的局限性国内外已有不少大学和科研机构开发了一些教学管理系统和学生管理系统,如华中理工大学计算机科学系开发的学生管理系统、北京师范大学开发的Vclass⋯等等,这些系统或多或少都存在以下问题:用户界面复杂;使用方式较分散:成本较高。最重要的是至目前为止还没有一套将学生在校管理、毕业信息管理和学生学籍管理相结合的完整系统。因此,在华中师范大学计算机系老师的帮助下,我们设计开发了这套学生学籍管理系统,并在武汉职业技术学院的校园网上试运行,使现已启动的网上登录、网上查询等功能正常运转;同时,它是开放性的,有利于今后将最新的多媒体技术、人工智能技术和网络技术融入系统之中。1.3自己做的主要工作论文分析了Web数据库及ASP技术在学生学籍管理系统中的应用,本文的主要工作如下:①重点讨论了B/S结构的工作原理及其特点,分析了实现Web数据库的不同方法,客观地分析了它们的优缺点。讨论结果是:ASP技术无论在操作的可行性、方便性还是性能上都是一种实现Web数据库的最好方法。②探讨了ASP技术五个主要的内置对象和ActiveX服务器组件在学生学籍管理系统中的应用,并介绍了如何利用ASP技术向数据库中添加、修改和删除数据。③重点讨论了如何利用数据库访问组件ADO技术实现学生成绩数据库与服务器的连接,并利用其属性和方法完成对成绩库的访问。 ⑨硕士学位论文MASIER’S11IIESIS④详尽介绍了学生学籍管理系统的总体框架、工作流程和系统使用的主要技术。1.4全文概要第一章简要回顾了网络的发展,研究该课题的原因。第二章陈述了系统研究的目的、系统设计、总体框架和系统的特点。第三章介绍了基于Web的数据库技术的发展情况,并重点介绍了浏览器/服务器(B/s)模式和ASP技术访问Web数据库的优点。第四章论述了ASP访问Web数据库的工作原理、简要介绍了ASP的对象和组件以及怎样在数据库与服务器之间建立连接,最后讲述了ASP开发Web数据库的几个步骤。第五章讨论了怎样利用ADO技术访问、查询成绩数据库,以及怎样利用ADO对象及SOL语句对成绩数据库进行修改等操作。第六章画出了系统流程图,陈述了系统实现的主要技术,分析了系统实现的不足之处。第七章是结束语。对全篇论文进行了总结,探讨了今后应该努力的方向。国际互联网技术日新月异,极大地推动了基于Internet的应用技术的发展。支持Web数据库访问的新技术也层出不穷。随着校园网的发展,基于Internet的教学管理系统、学生管理系统也在不断地深入和发展。本文所介绍的“基于B/s的学生学籍管理系统的设计与实现”仅仅是高校管理信息系统的一个小模块,今后我们将进一步努力,不断地学习新知识,争取将这个系统做到更加完善。 第二章系统分析学生学籍管理系统是基于Web应用的校园应用方案,提供了学校信息化管理需要的灵活性,使学生、教师、家长和主管部门之间能快速、及时地进行沟通,全面实现校园的师生管理、教学管理、考试管理、学籍管理等,是高校实施信息化管理的强力支撑。2.1系统设计目的随着计算机信息技术、网络通讯等高新技术的发展,对高校学生管理提出了更高的要求,要求学生管理系统进一步发展成为学生管理信息系统。这样不仅可以使教师从烦琐的事务中解脱出来,而且还能提供面向学生的网上查询成绩、专家咨询服务等快捷、灵活、方便的智能服务。学生学籍管理系统旨在使校园教学、教务管理、学生管理信息网络化,解决已往信息传递不方便、不快捷等问题,通过本系统可实现学生学籍管理网络化,方便教师网上登录成绩、学生网上查询成绩。应用表明,使用该系统可以大大提高工作效率,节省人力资源,提高高校行政管理的管理水平,有利于推动高校学生管理的“无纸化办公”进程。2.2系统设计由于wWw具有界面友好,操作便捷的特点,因而已成为Internet上最流行的信息服务,同时Web技术与数据库技术相结合,实现Web数据库交互式应用已成为必然。当今,人们对于Web的要求越来越高,不再只是满足于HTML所提供的简单的静态页面,而是需要灵活的动态页面。对于实现上述要求的技术,目前包括脚本语言(如VBScript和JavaScript),公共网关接口(CGI),应用编程接口(IsAPI)等。本系统采用的是ASP技术。4 ⑧硕士学位论文MASfER’S7I’IIESIS2.3系统介绍2.3.1.总体框架采用Browser/Server三层体系结构及符合国际标准的TCP/IP网络协议,采用模块化结构,可以适应不同规模用户的需要。针对高校学生管理的实际情况,设计其系统的总体框架(如图2.1所示)。图2.1系统总体结构系统的功能主要体现在各模块上,系统各功能模块如下:1.“输入成绩”:主要包括“新生注册”、“输入课程名称”、“修改课程名称”、“输入成绩”和“退出系统”等。可实现学生学籍、应修课程及应得学分、已修课程及已得学分的登记和归档工作,并方便学生对所选修的课程名称和成绩实现网上查询、实现网上资源的充分共享。2.“查询修改”:主要包括“修改档案”和“修改成绩”两个相对独立的模块,可用于档案和成绩的修改。3.“补考处理”:包括“生成补考库”、“补考成绩汇总”、“补考通知单”、 ⑧硕士学位论文MASIER’S.JIIIiSIS“补考准考证”和“补考成绩录入”六个功能模块。该子系统是用户获取补考信息和补考成绩的有利途径。4.“毕业处理”:包括“录入毕业去向”、“确定毕业结业”、“毕业生名册”和“毕业生卡片”等。可对毕业生的详细信息进行查询,并对毕业生提供通讯录、便签等方便。5.“报表输出”:包括“学生名册”、“记分册”和“成绩表”等功能模块。该子系统可用于获取学生成绩。6.“系统帮助”:包括“系统帮助”、“关于⋯⋯”和“退出系统”等。用户能够查看该系统的相关信息。由于系统采用模块化、结构化设计,各模块在信息上互相沟通,功能上互相独立,使系统的网络扩充、功能增加、业务扩展更容易实现。2.3.2.系统特点本系统的主要功能是通过网络实现现代化高校学生管理,提高办公效率。①先进可靠的系统平台和体系结构系统采用目前比较流行的Internet体系结构和瘦客户机/中间件/N务器体系(B/S)结构。B/S体系结构前台只负责界面表示,实现了瘦客户机的构想,大大地减轻了维护工作量,程序的修改只限于数据库服务器端及应用程序服务器端,客户端通过浏览器访问应用程序服务器,界面统一简单,软件层次较少,维护容易。②系统提供的智能性系统中的网络服务器采用了高级系统体系结构以及扩展数据输出(EDO)内存子系统,因而具有强大的工作性能和最大的I/O带宽。③友好的用户界面及操作的灵活性系统提供类浏览器界面,便于用户实现各种搜索、查询操作。在系统的操作过程中体现了简单、方便、灵活的特点。6 ④值得信赖的可靠性和安全性系统可自动检测输入数据的准确性和完整性。当出现故障或事故造成系统中断后,系统对数据的完整性具有检测、保护和恢复能力。⑤开放性及可扩充性软件设计采用标准化接口,硬件平台采用标准网络接口,采用开放式数据库互连接口(ODBC),使本系统与其它应用系统容易实现互连。⑥先进的Internet支持系统采用先进的计算机网络、数据库技术、消息传递与工作流技术Internet技术、安全与容错技术相结合。本系统为高校跨入信息化教学时代提供技术支撑平台,使校内应用(如成绩管理、学籍管理、毕业生信息管理等)系统从单机操作、C/S结构操作上升到基于Web应用的B/S结构体系中来。系统提供丰富的服务以满足学校需要。2.4本章小结本章首先介绍了系统设计目的、系统设计采用的技术,接着通过框图对系统自实现的六大功能作了作了清楚的介绍,最后介绍了本系统的主要特点。 第三章基于Web的数据库技术随着计算机软硬件技术的发展,数据库技术也不断地推陈出新,并实时地结合各种先进的信息手段,在实际应用中发挥着越来越重要的作用。3.1Web数据库的发展历程数据库技术从最早的单机模式、主从体系,发展到近年来应用较广的客户机/服务器(CIlent/Server,以下简称C/S)模式,又到目前最流行也最实用的浏览器/服务器(Browser/server,以下简称B/S)模式。在设计一个系统时,我们首先要考虑的是系统的体系结构,采用哪种结构取决于系统的网络环境、应用需求等因素。3.1.I主机/终端结构早期由于主机价格昂贵,为了共享主机资源,一台主机要同时为多个用户服务,但这种系统由于没有和通信相结合,所连接的终端往往离主机的距离很近。这种结构的终端不需要做什么处理工作,一切数据处理都交给了主机去完成。由于主机包揽了数据处理的一切工作,这就要求它具有十分高的性能。这种结构中,服务器存储所有数据,进行所有处理运算,资源也得到了充分的共享,但是用户界面不友好,主机负载过大(如图3.1所示)。TermirlaTerminaITermina图3.1主机/终端结构8 ⑧硕士学位论文MAS’l’ER’SJIIESIS3.1.2客户机/hi务器结构传统的C/S结构是两层的,基本思想是:服务器提供数据的存取和管理等,客户端运行相应的应用,通过网络获得服务器的服务,使用服务器上的数据库资源。与主机/终端模式相比,C/S结构更容易扩充,更加灵活。当信息系统的规模扩大或需求改变时,不必重新设计便可在原有基础上进行扩充和调整,从而保护了已有投资。为了应用客户机/服务器这种体系结构,原来完全放在主机上的应用程序被分成了两部分:客户机端的应用程序和服务器端的应用程序,如图3.2所示。图3.2二层结构随着Internet技术的普及和电子商务技术的发展,客户机/服务器结构的数据库系统正由2层向3层或多层发展。在如图3.3所示的层结构中,应用程序的任务在逻辑上被划分为3种服务:用户服务、业务服务(中间层服务)和数据服务。用户服务在客户机上,提供了可视化的用户界面来表示信息和收集数据:业务服务在一个或多个业务服务器上,是联系用户服务和数据服务的“桥梁”,它们响应用户发来的请求,实施业务规则,处理和分析业务数据,获得业务结果:数据服务在数据库服务器上,负责数据的组织管理,包括数据的定义、维护、访问和更新以及管理并响应业务服务的数据请求。 ⑧硕士学位论文MASIER’SIIIESIS客户机1客户机2客户机3图3.3三层结构3.1.3浏览器/Ill务器结构典型的c/s结构不仅要求为客户端安装前端应用程序,而且限制客户端的工作环境只能基于Windows或UNIX操作系统,这些限制条件都不切实际。人们不能开发那种只能用于特定计算环境的软件,且在自己的Web站点上同时保存某个应用程序的多个特定平台的版本是不可行的,因为这样不但使软件开发成本大幅度上涨,而且客户端的计算环境可能是千变万化的,无法预知客户端的计算环境会怎样改变。不过可以要求在客户机上安装某种具有一定“翻译”功能的统一的构件,这个构件便是浏览器。于是基于B/S的系统就应运而生了,B/S结构是在c/s结构基础上发展起来的,各个客户端只需安装一个简单的Web浏览器,用户面对的将是简单统一的浏览器,而不是一个复杂的软件,这就降低了用户的使用难度。1.浏览器/RI务器结构的工作原理浏览器/服务器模式的数据库体系是利用Web服务器和ASP(ActiveServerPages即动态服务器网页)作为数据库操作的中间层,将客户机/J]li务器 ⑨硕士学位论文MASIER’S]'IIESIS模式的数据库结构与Web技术密切结合,从而形成具有三层Web结构的浏览器/服务器模式的数据库体系,具体结构如图3.4所示。前端浏览器●啼websERvER呻圈嗲后台数据库图3.4三层Web结构的数据库体系浏览器/服务器结构的工作原理是:在前端采用IE浏览器将用户提交的操作信息向Web服务器发出HTTP请求,Web服务器通过ASP和一些中间组件访问后台数据库,并将操作结果以HTML页面的形式返回给前端浏览器。2.浏览器/服务器模式的优点从本质上讲,B/S模式与传统c/s都是以同一种请求和应答方式来执行应用的。但传统的c/s是一种二层或三层结构模式,其客户端集中了大量应用软件,而B/S客户端仅需单一的浏览器软件,是一种全新的体系结构。3.2Web数据库管理系统介绍传统的Web站点大都由静态的HTML页面组成。当浏览器通过HTTP向服务器发出请求时,服务器只是将原先已设计好的页面传送给浏览器。由于静态页面缺少交互性,因此动态内容的开发就成了越来越多的Web站点追求的目标。所谓“动态”是指用户按自己的需要通过浏览器发出请求,服务器运行一个脚本或程序来返回包含最新信息的页面供用户浏览。为了向用户提供大量有用、动态和可交互信息,凡是能够数据库化的内容,应尽量做成数据库的形式,因为数据库形式的数据远比其他形式的数据容易更新与管理。3.2.1Web数据库工作原理Web数据库基于c/s结构,客户端是浏览器,服务器端是Web服务器。浏 览器和Web服务器通过HTTP交换信息。Web上的大多数交互均可看成请求和响应,即浏览器向Web服务器发出请求(一般是要求显示一个用户想看的网页),而Web服务器则向浏览器返回响应(通常是一个HTML页面或图像等)。基于Web的数据库采用3层的客户端/服务器结构:第一层是浏览器,第二层是Web服务器,第三层包括一些应用程序及相关的数据库。浏览器作为用户输入查询条件和显示查询结果的交互界面,用户可以通过填写表单或输入关键字的方式来与Web交互。当用户单击表单上的按钮时,表单中的数据便被发送到Web服务器。Web服务器负责用户输入信息的接收,它将数据传送至要被处理的脚本或应用程序,并在数据库中查询数据。最后,Web服务器将返回结果插入到HTML页面,传送至浏览器以响应用户。如图3.5所示。图3.5Web数据库工作原理3.2.2访问Web数据库的五种方法目前在WINDOWS环境下有多种访问Web数据库的技术,它不仅与操作系统有关,而且与数据库管理系统也有着必然的联系。主要方法有以下五种:1.公共网关接口cGJ(CommonGatewayJnterfaca)CGI程序不仅使你能生成静态的内容,而且能生成动态的内容。CGI程序的工作过程是:(1)浏览器将用户信息传递给Web服务器;(2)Web服务器运行CGI程序;(3)CGI程序通过CGI数据库网关对Web数据库进行操作:(4)CGI程序将数据库操作结果返回给Web服务器;(5)Web服务器将结果数据传递给浏览器;(6)浏览器将数据库操作的结果显示给用户。该过12 ⑧硕士学位论文MAS’I_ER’S1tIIESIS程如图3.6所示。Web服务器●曼里猩庄-CGI数据库网关CGI程序的工作过程图3.6CGI程序的工作过程CGI程序能运行在多种平台上完成一定的功能。在大多数情况下,CGI程序主要用Perl语言编写。CGI是较早实现的技术。适用于多种服务器平台,如UNIX、WINDOWS等,但CGI的开发成本高、维护困难、功能有限、占用服务器资源较多。2.Internet数据库连接器IDC(InternetDatabaseConnector)这是一种简易方案,对数据库的操作仍然放在Web服务器端,但用户可通过SQL语句对数据库进行查询、输入、更新、删除等操作。IDC设计简易,不用编译就可直接执行,且支持对数据的多重查询,只适用于小型数据库系统。3.先进数据库连接器ADC(AdvanceDatabaseConnector)前两种方案中对数据库的操作都是在服务器端进行,而ADC是在浏览器端执行数据查询动作。当浏览器提出对数据库的操作请求时。ADC先将相应的数据库下载到浏览器端,在用户端对数据库进行操作。显然,这种方案效率很高。ADC系统开销较大、响应慢,只适用于特别频繁的数据库查询操作。4.Java/JDBC语言编程用Java语言实现wWw数据库,该技术主要是作用JDBC技术访问数据库。 JDBC是一种规范,其宗旨是让各数据库开发商为Java程序员提供标准的数据库访问类和接口。JDBC与Java的结合,使用户可以很容易地指导SQL语句传送到任何关系数据库中。Java语言是一种面向对象、易移植、多线程控制的语言。用Java/JOBC语言编写的软件可移植性强,适用于多种操作系统,但其执行效率和执行速度还不理想,目前无法建立高效、高速的应用。5.动态服务器页面ASPASP是基于Web的一种编程技术,可以轻松地实现对页面内容的动态控制,根据不同的浏览者,显示不同的页面内容。而浏览者一点觉察不出来,就像为他专门制作的页面一样。有ADO(ActiveDatabaseObject,动态数据库对象)的支持,ASP对数据库的操作非常得心应手。你甚至可以像使用本地数据库那样,管理远程主机上的数据库,对表格、记录进行各种操作。ASP着重于处理动态网页和Web数据库的开发,编程灵活、简洁,具有较高的性能,是目前访问Web数据库的最佳选择。随着Internet技术的发展,开发基于Web的应用程序势在必行,数据库技术更是需要和Web技术相结合,才有更为广阔的前景。ASP作为微软推出的新兴Web应用程序开发技术,在数据库应用方面必将发挥越来越重要的作用,同时浏览器/N务器模式的数据库体系也将逐渐成为数据库结构的主流。3.3本章小结本章首先介绍了数据库技术发展的历程即:主机/终端结构一一客户机/月艮务器结构一一浏览器朋艮务器结构,并对浏览器朋艮务器结构的工作原理和性能优势作了详细的介绍。接着介绍了Web数据库的工作原理和访问Web数据库的五种方法。最后还分析了ASP技术在性能方面的优势。14 ⑥硕士学位论文MASfl£R’S,jIIESIS第四章ASP技术访问学生成绩数据库ASP是微软公司推出的最新网络应用程序开发技术,是服务器端脚本编写环境,使用它可以创建和运行动态、交互的应用程序,可以组合HTML页,脚本命令和ActiveX组件以创建交互的网络页和基于网络的功能强大的应用程序。目前ASP已成为开发动态网站和网络数据库的主要技术之一。4.1ASP的工作原理ASP访问数据库的工作原理如下:ASP脚本实际上是一种服务器端的解释脚本,其脚本包含在以.asp为后缀的文件中。当在浏览器中访问以后缀名为.asp的ASP主页时,网络服务器响应HTTP请求并调用ASP引擎(asp.d11)执行该文件并解释执行其中的任何脚本(VBScript或JavaScript),若脚本中有访问数据库请求,立刻通过ODBC与相应的后台数据库相连,由数据库访问组件ADO(ActiveXDataObjects)完成操作,最后,ASP根据访问数据库的结果集生成包含有数据查询结果的HTML语言的主页返回给前端用户(2Z作原理见图4.1)。前端浏览器q豳审webs。,。。,(ASP)q麓命AD0访问每重睁0DBc《萤审后台数据库图4.1ASP访问Web数据库的工作原理由于ASP在服务器端运行,运行结果以HTML主页形式返回用户浏览器,也就是说,用户在前端浏览器看到的仅仅是ASP页的执行结果所生成的页,而 ⑧硕士学位论文MASllEP.’SIIIESISASP的页本身的内容用户在前端浏览器是看不到的,因而ASP源程序不会泄密,增加了系统的安全保密性。此外,ASP是面向对象的脚本环境,用户可自行增加ActiveX组件来扩充其功能,拓展应用范围。4.2ASP页面的结构ASP的程序代码简单通用,文件名由.asp结尾,ASP文件通常由四部分构1.标准的HTML标记:所有的HTML标记均可使用。2.ASP语法命令:位于<%%>标签内的ASP代码。3.服务器端的包括语句:可用#包括语句调入其它ASP代码,增强了编程的灵活性。4.脚本语言:ASP自带Jscript和VBScript两种脚本语言,增加了ASP的编程功能,用户也可安装其它脚本语言,如Perl,Rexx等。活跃的手写体就是用VBScript,JavaScript,Perl等脚本语言并遵照ASP的语法规则编写出的程序,同时在程序两端加上<%一一一%>这两个定界符即可。4.3ASP提供的内置对象和组件ASP提供了功能强大的六个内置对象和五个内置组件,利用这些对象和组件可以开发出非常完美的网络应用程序。其中六个内置对象如下:Request(请求):从前端用户取得信息。Request对象将客户端信息保存在某个指定的集合中,提供给ASP使用。通用的访问方法为:Request.Collection(’membername’)。当不指定集合名时,ASP将以OueryString、Form、Cookie、ServerVariable的顺序搜索所有集合,自动引用它找到的第一个匹配的变量。Reponse(响应):将信息送给前端用户。Reponse对象可用来构建对信16 ⑧硕士学位论文MASIER’STIIESIS息的反馈。Server(服务器):提供网络服务器工具Session(会话):储存在一次会话内的用户信息,仅被该用户访问Application(应用):管理所有的会话信息,供所有用户共享ObjectContext(对象上下文):提交或中止由ASP脚本启动的事务(IIS4.0新增)ASP有五个主要的内建对象:Request,Reponse,Server,Session,Application,下面将分别举例对其进行说明。4.3.1用Request和Reponse接收向成绩库提交的数据并作出响应ASP依然遵从流行的,利用客户端的形成进行数据交换的方法。ASP内建的Request对象拥有五个获取客户端资料的方法(QueryString/Form/Cookies/ServerVariables)。集合:QueryString:浏览器端以Get方式所返回的表单数据。Form:包含浏览器端以Post方式所返回的窗口数据。Cookies:用来读取Cookie的值。ServerVariables:服务器端环境变量的值。使用Request对象,可以收集并处理用户通过HTTP请求传送的信息,如HTML表单用Post或Get方式传递的参数,Cookies数据和环境变量等。这些信息可以分别从Request对象的集合QueryString,Form,Cookies,serverVariables等中获取。语法:Request集合名称(”参数”)或Request(。参数”)如果采用后者,系统会自动选择相应的方法。例如,以下语句用于从HTML表单中取得用Post方法传递的用户名为”LiLin”数据:17 ⑧硕士学位论文MASrER’S}IIIESISstrLiLin=Request.Form(4LiLin”)如果省略集合名称,则可以这样写:strLiLin=请求(”LiLin”)ASP将按QueryString,Form,Cookies和ServerVariahles顺序来搜索集合,当发现第一个匹配的变量时,就认定它是要引用的成员。显然省略集合名称会影响执行效率。为了提高效率,最好明确地指定是哪个集合中的成员。Reponse对象用于将服务器端的数据以HTML格式发送到客户端浏览器。该对象的功能正好与Request对象的功能相反,即Request对象用于得到用户提交的数据,而Reponse对象用于发送数据,两者结合在一起,才使数据的动态交互成为可能。例如,在一个信息查询页面中,当用户输入查询条件交提交到服务器时,需要编写一个ASP程序,用Request对象得到用户输入查询条件有,然后根据查询条件查找数据,并将查找到的结果用Response对象返回到浏览器。4.3.2用Post和Get方法获取表单输入数据学生学籍管理系统中,先建立一个用户输入界面的表单,这是一个让浏览者输入数据的形式,然后将这些数据返回到Web服务器,以备登录或查询使用。而Request对象的用途是帮助我们读取这些表单数据,而读取表单数据的方法取决于表单数据返回服务器端的方式。若在

标记中将method属性设为“Get”,表单数据将以字符串的方式附加在网址后面返回服务器端,例如:http://i27·O·0·i/1w/netquery·htm?name=mary&id=9801001,问号后面的字符串便是表单数据,此时就要用Request对象的Querystring集合来获取表单数据:若将method属性设为“Post”,表单数据将以放在HTTP标头(header)的方式返回服务器端,该方式通过Request对象的Form集合获取数据。如果表单处理很简单,所提交的数据很少且该数据的安全性并不重要,那 ⑧硕士学位论文MAS陌R’STIIESiS么采用Get的方法比较好,因为它使用简单的方式向服务器传输数据。僵怒用这静方斌请求龋的长发会受限制,两且处理密码的袭单安全性差。采用Post方式输入的请求串长度不受限制,并艇在用户端的测览器的地址栏掇也不会出瑷请求浆数提。其操佟方式是先将数据包装越来再传送出去。在本系统中对于查询模块的数据对象熙公开的,在不考虑请求串长度的情况下,可用默认的Get方式,键在藉狳、蘩敬模块审,嚣必窍日令熬验涯,所以罴爨要先孀Post方式。鉴于此,不妨将method属性均设为Post方式。那么,在查询模块中,判掰丽户输入豹援索类鬟楚否为熬名豹条髂莓舞:request·form(“kind”)=“姓名”,其中kind为姓名或学号的表单项名。通过这个方式,可将用户在袭单界面输入的菜一个本融传送掰服务器端懿数据获取发。这麓≤#常方偻惹瑟懿楚理工作。4.3.3Server对敛提供臌务器端的基本属性和方法Server对象会为你提供一些蹰定静Server端静方法帮瓣经,稳捂ScriptTimeout、MapPath、Server.CreateObject和URLEncode等。1.属性ScriptTimeout悬Server的属性,它规定~个asp程序必须在指定的时间内执行,逾期就不再执行。如;Server·scriptTimeout=200(计数单位为杪,缺省时为90秒)。2.方法⑦MapPath方法语法:Server.MapPath(Path)MapPath怒Server一个方法,用于把WebServer的虚拟路径转换为实际路径。如Server·MapPath(”/”)=c:\inetpub\wwwroot,对于路径参数“/”帮“\”,ASP都会巍菇一徉。在这里有~点要注意的是,系统只是对应WebServer的真实根目录输出结果,而不会去检查文件系统中是否真的存在这样~今嚣录。 ⑨硕士学位论文MAS【’ER’ST11ESIS②Server.CreateObject方法语法:Server.CreateObject(proglD)proglD指定要创建的对象的实例Server.CreateObject是Server对象中最重要的方法,用于创建已注册到服务器上的ActiveX组件的实例。ActiveX组件能够轻松地扩展ActiveX的能力,实现许多重要的功能,如:数据库的连接、文件的访问等功能。正是这些组件才使ASP具有强大的生命力。服务器组件和ASP内置的对象一样有集合、属性和方法,但不同的是无法直接存取,必须先建立一个对象实例,然后再通过此对象实例去存取其集合、属性和方法。鉴于此原因,在学生学籍管理系统中要想使用数据访问组件,必须先用此方法建立一个对象实例,才可去做其它删减记录的操作。在学生学籍管理系统中,为了访问成绩库,必须先建立对象实例,如:setobjs=Server.CreateObject(”ADODB.Connection”)其中,set.是Vbscript关键词,objs是这个对象的名称,习惯上将对象实例的名称以obj开头来命名,ADODB是ASP服务器的一个组件,用于处理数据库。默认情况下,由Server.CreateObject方法创建的对象具有页作用域,即当ASP页处理完之后,服务器将自动破坏这些对象,也可通过NOTHING来释放创建的组件所占的资源。如:<%Setrs=nothing%>(要)URLEncode方法URLEncode方法根据URL编码原则,把源字符串编码为目标字符串,其中空白的字符用“+”代替。4.3.4Session对象Session是ASP中一个非常重要的对象,编程时,都会涉及到变量是定义 ⑧硕士学位论文MASIHl’S1’IIESIS为全局变量还是局部变量这个问题。但在Internet上的开发却很少提及这个问题(Java除外),因为每一个html页面都是非相关的,传输完毕后,全部链接都会断开。在ASP中则不一样,我们可以定义一些全局变量,在当前浏览器没有被关闭前使用。这些变量可以在Global.asp中进行定义。语法:session.属性I方法一般建立新韵session对象都是采用set关键字,如<%setsession(”变量名称”)=要赋的值。如果赋给session变量的是一个数组,则读取时需存放到数组中,因为系统是将其视为一个对象(object)。4.3.5Application对象Global.asa是用于定义session、application和object对象的一个文件,客户端是不能看到该文件的。但该文件一定要放在程序的根目录上,而且文本中不能有html标记并且文件名不能改动。下面是一个Global.asa文本的范例。SubSessionOnStart’==VisualInterDevGenerated—DataConnectionstartspan==’一一ProjectDataConnectionSession(”nnb_ConnectionString”)=⋯DSN=木木奉:UID=LiLin:hPP=Microsoft(R)DeveloperStudio:WSID=LILIN:DATABASE=***’Session(”nnbConnectionTimeout。)=15Session(”nnbCommandTimeout”)=30Session(”nnbRuntimeUserName”)=’LiLin”Session(’nnbRuntimePassword’)=”木木木爿c枣木’’==VisualInterDevGenerated—DataConnectionendspan==EndSub</SCRIPT>Application与session的区别在于,网上的用户都可以使用Application的对象,因而是需要加锁的:而session只是针对一个客户而已。21 ⑧硕士学位论文MAS’I’ER’SrrIIESIS如定义一个Application变量为Application(’nBme’)=’1234”。ASP更高级的应用还包括它内建有一些ActiveX控件和可调用其它的控件等功能,暂不在本文讨论。4.4通过ASP与学生成绩数据库建立连接因为需要操作服务器端的数据库,所以必须在数据库与服务器之间建立连接,建立连接(Connection)是数据库存取的开始。1.建立Connection对象我们使用ASP的内建对象方法Server.Createobject建立与数据库的连接。ADODB是ASP内置的数据库存取组件。<%Setcn=Server.CreateObject(’ADODB.Connection’)%>这样就创建了一个名为cn的Connection对象实例,通过这个对象实例,就可使用Connection对象提供的open方法打开与数据库的连接。2.使用open方法打开与成绩数据库的连接(成绩数据库stxf.dbf)。driver参数语法:driver={MicrosoftAccessDriver($.mdb))告诉系统使用ACCESS数据库的ODBC驱动处理。DBQ用来指定打开的数据库文件名,它必须是完整的路径。例如”c:\inetpub\wwwroot\data\stxf.dbf’,我们使用Server.MapPath的方法取得数据库的完整路径。UID指定用户名PWD指定用户密码对于ACCESS数据库,可以直接在ASP中指定连接,其相应的ASP程序为:<%cn.open“driver=fMicrosoftAccessDriver(木.mdb));DBQ=数据库文件名;UID=用户名;22 ⑩硕士学位论文MAS’rER’S1I{ESISPWD=用户密码”%>说明:Connection仅仅是建立了与数据库间的连接,要存取数据还应该再建立Recordset对象。Setrs=Server.CreateObject(’ADODB.Recordset4)建立Recordset对象rs。3.关闭Connection对象an.close4.将Connection对象从内存中删除,以释放资源关闭Connec.tion对象就切断了Connection对象与数据库之间的连接,但是此对象还是存在于内存中。如果要将创建的Connection对象从内存中移出,需要用语旬setcn=nothing4.5.如何向数据厍中添加、修改和删除数据。4.5.1向数据库中添加新数据(如图4.2所示)添加数据库记录班级:厂一姓名:厂一课程名称:厂—一学生成绩:广—一图4.2向数据库添加数据 使用Recordset对象的Addnew方法,例stul.asp。<%@LANGUAGB=VBScript%>
关闭