毕业设计(论文)-学籍管理系统的设计与实现.doc_第1页
毕业设计(论文)-学籍管理系统的设计与实现.doc_第2页
毕业设计(论文)-学籍管理系统的设计与实现.doc_第3页
毕业设计(论文)-学籍管理系统的设计与实现.doc_第4页
毕业设计(论文)-学籍管理系统的设计与实现.doc_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中 南 大 學 central south university 毕业论文(设计)课题名称: 学籍管理系统的设计与实现 设 计 者: 指导老师: 院 系: 专业班级: 完成时间: 1题目类型:(1)理论研究(2)实验研究(3)工程设计(4)工程技术研究(5)软件开发2题目来源:(1)教师科研题(2)生产实际题(3)模拟或虚构题(4)学生自选题1 毕业论文(设计)主要参考资料主要参考书类:1、 梁晓晖,来继敏主编;asp.net 2.0(c#)网站开发实用教程 北京:机械工业出版社2、 谭浩强主编; 计算机网络教程 北京:电子工业出版社3、 (美)波奈尔 著,韩宏志译; 数据库设计与开发教程北京:清华大学出版社主要参考杂志类:计算机 网络数据库 网络开发工具以及网上的一些相关资料.2 毕业论文(设计)进度安排阶段阶段内容起止时间1搜集资料,熟悉开发工具。2分析资料,拟定研究方案和方案优化。3制作、调试、确定技术参数值4整理数据、撰写论文5论文答答辩指导教师(签名) 时间:年 月 日教研室(所)主任(签名) 时间:年 月 日主管院长(签名) 时间:年 月 日中 南 大 学毕业论文(设计)成绩评定表(一)指导教师评语 该论文撰写符合规范要求。毕业论文设计中具有一定的创新观点,设计思想比较清晰,对应用的开发工具能够比较熟练的掌握运用,设计的软件功能也比较完善,基本实现了毕业任务书中下达的毕业设计要求。在毕业论文设计的过程中体现出该生具有较扎实的基础知识,对所学的知识能够比较灵活的运用,具有较良好的团队合作精神,能够通过团队合作相互协商解决软件开发过程中遇到的各种难题,并具备了一定的独立的解决问题的能力。希望在以后的工作中,能不断加强学习,提高自身的专业知识水平与相应的动手能力。建议成绩: 优秀 指导教师 年 月 日摘要 随着internet/intranet的快速发展,数据库技术的进一步成熟,建立能业务化工作的学生学籍管理系统是当前高校管理部门的迫切要求。文章参考了目前国内高校学生管理的发展情况及管理模式,借鉴了目前国内先进的大型管理系统,对高校学生学籍管理进行了总体设计,建设“基于web的”运行平台,实现方便快捷的前端web登录和查询,采用了sql server 2000作为后台数据库,采用asp及ado技术对数据库进行操作及维护。 首先,论文讨论了web数据库的发展历程:从最早的主机/终端结构到近年来较流行的客户机/服务器机构,再到目前最先进的浏览器/服务器结构。讨论结果是:浏览器/服务器模式中的客户机使用的是统一的浏览器界面格式,便于操作,简单易行,有利于提高工作效率,易实现不同网络间的连接。因此学生学籍管理系统采用的就是浏览器/服务器模式。 再者,论文讨论了访问web数据库的五种方法,对于在web服务器端提供中间件的方法有两种:cgi和api。其中,cgi效率低,速度慢;api虽然克服了cgi的缺点,但兼容性差,开发难度大。通过比较五种方法的优缺点,得出的结论是:用asp技术访问学生成绩数据库具有易实现、功能强大、效率高等优点。 最后,论文提出了用asp和ado技术相结合来实现学生成绩数据库的访问,得出的结论是:用asp+ado访问服务器端的数据库的实质就是利用ado对象访问数据源。但是这种方案也有它的不足之处:由于ado是以一个本地数据访问组件,而asp+ado方案中,ado在web服务器端使用,因此该方法只能对服务器端数据库进行访问,而当数据库服务器与web服务器不在同一计算机上时,这种方案就行不通;再者由于用户每次查询都必须连接服务器,然后等待回应,因此,对于需要频繁访问数据库的应用如“网上办公”就显得过于繁琐。 基于b/s结构的高等专业技术学院学生学籍管理系统(以下简称ssms)就是利用asp技术和web数据库相结合实现的,它具有数据输入、查询修改补考处理、毕业处理和报表输出等功能。它的成功实现对提高高校的学生管理水平具有非常重要的意义。应用表明:学生学籍管理系统用户界面友好,操作灵活方便,可大大提高工作效率,基本实现“无纸化办公”。 关键词:c/s结构 b/s结构 web数据库 ado 32- -目录第一章 绪论1 1.1研究这个系统的重要性1 1.2自己做的主要工作1 1.3全文概要1第二章 系统分析32.1系统设计目的32.2系统设计32.3系统介绍32.3.1总体框架32.3.2系统特点4第三章 基于web的数据库技术53.1 web数据库的发展历程53.1.1主机/终端结构53.1.2客户机/服务器结构53.1.3浏览器/服务器结构63.2 web数据库管理系统介绍63.2.1 web数据库工作原理73.2.2访问web数据库的五种方法7第四章asp技术访问学生成绩数据库94.1 asp的工作原理94.2 asp页面的结构94.3asp提供的内置对象和组件94.3.1 request和reponses接收向成绩库提交的数据并作出响应104.3.2用post和get方法获取表单输入数据104.3.3 server对象提供服务器端的基本属性和方法114.3.4 session对象124.3.5 application对象124.4通过asp与学生成绩数据库建立连接124.5如何向数据库添加、修改和删除数据134.5.1向数据库中添加新数据134.5.2修改数据库中已存在的数据144.5.3删除数据库中的数据154.6用cookie集合实现成绩查询的分页浏览154.7 activex服务器组件164.8 asp开发web数据库的步骤164.8.1建立ado数据环境164.8.2处理返回集174.8.3释放环境变量184.9 asp中web数据库的更新184.9.1添加数据库记录184.9.2删除数据库记录184.9.3修改数据库记录184.9.4移动数据库记录指针18第五章ado访问学生学籍管理系统的设计19 5.1创建和配置odbc数据源195.1.1 odbc简介195.1.2创建和配置odbc数据源205.2用sql语句对成绩库作插入、删除、更新205.3 ado存取成绩库的实现215.4利用asp和ado访问web数据库215.5学生成绩数据库查询22第六章学生学籍管理系统的实现256.1系统开发平台256.2后台数据库的选取256.3系统结构256.4系统流程图256.5系统实现的主要技术266.6系统实现.266.7安全控制技术276.8 b/s的优势与不足28第七章结束语29致谢30参考文献31第一章 绪论 人类社会己经踏入21世纪的门槛,蓦然回首:20世纪90年代以来,全球信息技术发展明显加快。由于芯片技术、电脑软件技术突飞猛进地提高,电脑功能正日趋强大。随着internet的出现,人们己经认识到,周围的一切正在发生异乎寻常的变化:“奔腾”赞歌唱遍各个角落;多媒体计算机迅速走进家庭;上网已成为人们日常生活的一部分:www浏览使你足不出户便知天下事:各种应用软件更是应有尽有。事实证明:网络的普及及应用大大推动了计算机应用的发展。从国防军事、交通运输、财政金融、科学教育等大型系统,到一个企业、一个机关、一所学校、一座饭店的内部管理,几乎都采用了计算机网络管理。网络发展已经超越了国界,跨越了地域,使地球上的人们似乎生活在一个“地球村”里。 在新的世纪里,信息技术迅猛发展,而网络技术和数据库技术又是信息技术最主要的核心。于是,基于web的数据库也就应运而生了。 随着internet/intranet技术的发展,开发基于web的应用程序势在必行,数据库技术更是需要和web技术相结合,才有更为广阔的前景。asp作为微软推出的新兴web应用程序开发技术,在数据库应用方面发挥着越来越重要的作用,同时浏览器/服务器模式的数据库体系也正逐渐成为数据库结构的主流。 1.1研究这个系统的重要性 internet的普及和应用使人们的现代生活方式发生了深刻的变化,学校总是处于接受新知识的最前沿地带,于是校园网的应用和管理系统的开发也正蓬勃发展并发挥着巨大的作用,远程教育、网上查询成绩、网上招生等等对于我们己不再陌生。 然而,目前很多高校的学生管理仍然采用的是传统的管理模式:分发试卷给学生考试、老师领表手工登录成绩、学生查询成绩还必须到教学管理部门。事实证明:这种传统的管理模式既浪费人力资源,又不利于提高工作效率。于是,开发一套学生学籍管理系统已经迫在眉睫。 基于上述原因,我们设计并开发了这套学生学籍管理系统。 1.2自己做的主要工作 论文分析了web数据库及asp技术在学生学籍管理系统中的应用,本文的主要工作如下: 重点讨论了b/s结构的工作原理及其特点,分析了实现web数据库的不同方法,客观地分析了它们的优缺点。讨论结果是:asp技术无论在操作的可行性、方便性还是性能上都是一种实现web数据库的最好方法。 探讨了asp技术五个主要的内置对象和activex服务器组件在学生学籍管理系统中的应用,并介绍了如何利用asp技术向数据库中添加、修改和删除数据。 重点讨论了如何利用数据库访问组件ado技术实现学生成绩数据库与服务器的连接,并利用其属性和方法完成对成绩库的访问。 详尽介绍了学生学籍管理系统的总体框架、工作流程和系统使用的主要技术。 1.3全文概要 第一章简要回顾了网络的发展,研究该课题的原因。 第二章陈述了系统研究的目的、系统设计、总体框架和系统的特点。 第三章介绍了基于web的数据库技术的发展情况,并重点介绍了浏览器/服务器(b/s)模式和asp技术访问web数据库的优点。 第四章论述了asp访问web数据库的工作原理、简要介绍了asp的对象和组件以及怎样在数据库与服务器之间建立连接,最后讲述了asp开发web数据库的几个步骤。 第五章讨论了怎样利用ado技术访问、查询成绩数据库,以及怎样利用ado对象及sql语句对成绩数据库进行修改等操作。 第六章画出了系统流程图,陈述了系统实现的主要技术,分析了系统实现的不足之处。 第七章是结束语。对全篇论文进行了总结,探讨了今后应该努力的方向。 国际互联网技术日新月异,极大地推动了基于internet的应用技术的发展。支持web数据库访问的新技术也层出不穷。随着校园网的发展,基于internet的教学管理系统、学生管理系统也在不断地深入和发展。本文所介绍的“基于b/s的学生学籍管理系统的设计与实现”仅仅是高校管理信息系统的一个小模块,今后我们将进一步努力,不断地学习新知识,争取将这个系统做到更加完善。第二章 系统分析 学生学籍管理系统是基于web应用的校园应用方案,提供了学校信息化管理需要的灵活性,使学生、教师、家长和主管部门之间能快速、及时地进行沟通,全面实现校园的师生管理、教学管理、考试管理、学籍管理等,是高校实施信息化管理的强力支撑。 2. 1系统设计目的 随着计算机信息技术、网络通讯等高新技术的发展,对高校学生管理提出了更高的要求,要求学生管理系统进一步发展成为学生管理信息系统。这样不仅可以使教师从烦琐的事务中解脱出来,而且还能提供面向学生的网上查询成绩、专家咨询服务等快捷、灵活、方便的智能服务。 学生学籍管理系统旨在使校园教学、教务管理、学生管理信息网络化,解决已往信息传递不方便、不快捷等问题,通过本系统可实现学生学籍管理网络化,方便教师网上登录成绩、学生网上查询成绩。应用表明,使用该系统可以大大提高工作效率,节省人力资源,提高高校行政管理的管理水平,有利于推动高校学生管理的“无纸化办公”进程。 2. 2系统设计 由于wvvw具有界面友好,操作便捷的特点,因而已成为internet上最流行的信息服务,同时web技术与数据库技术相结合,实现web数据库交互式应用已成为必然。当今,人们对于web的要求越来越高,不再只是满足于html所提供的简单的静态页面,而是需要灵活的动态页面。对于实现上述要求的技术,目前包括脚本语言(如vbscript和javascript),公共网关接口(cgi)应用编程接口(isapi)等。本系统采用的是asp技术。 2. 3系统介绍 2. 3. 1.总体框架 采用browser/server三层体系结构及符合国际标准的tcp/ip网络协议,采用模块化结构,可以适应不同规模用户的需要。 针对高校学生管理的实际情况,设计其系统的总体框架(如图2. 1所示)。图2. 1系统总体结构 系统的功能主要体现在各模块上,系统各功能模块如下: 1.“输入成绩”:主要包括“新生注册”、“输入课程名称”、“修改课程名称”、“输入成绩”和“退出系统”等。可实现学生学籍、应修课程及应得学分、己修课程及己得学分的登记和归档工作,并方便学生对所选修的课程名称和成绩实现网上查询、实现网上资源的充分共享。 2.“查询修改”:主要包括“修改档案”和“修改成绩”两个相对独立的模块,可用于档案和成绩的修改。3.“补考处理”:包括“生成补考库”、“补考成绩汇总”、“补考通知单”、“补考准考证”和“补考成绩录入”六个功能模块。该子系统是用户获取补考信息和补考成绩的有利途径。4.“毕业处理”:包括“录入毕业去向”、“确定毕业结业”、“毕业生名册”和“毕业生卡片”等。可对毕业生的详细信息进行查询,并对毕业生提供通讯录、便签等方便。5.“报表输出”:包括“学生名册”、“记分册”和“成绩表”等功能模块。该子系统可用于获取学生成绩。6.“系统帮助”:包括“系统帮助”、“关于”和“退出系统”等。用户能够查看该系统的相关信息。由于系统采用模块化、结构化设计,各模块在信息上互相沟通,功能上互相独立,使系统的网络扩充、功能增加、业务扩展更容易实现。2. 3. 2.系统特点本系统的主要功能是通过网络实现现代化高校学生管理,提高办公效率。先进可靠的系统平台和体系结构系统采用目前比较流行的internet体系结构和瘦客户机/中间件/服务器体系(b/s)结构。b/s体系结构前台只负责界面表示,实现了瘦客户机的构想,大大地减轻了维护工作量,程序的修改只限于数据库服务器端及应用程序服务器端,客户端通过浏览器访问应用程序服务器,界面统一简单,软件层次较少,维护容易。系统提供的智能性系统中的网络服务器采用了高级系统体系结构以及扩展数据输出(edo)内存子系统,因而具有强大的工作性能和最大的i/0带宽。友好的用户界面及操作的灵活性系统提供类浏览器界面,便于用户实现各种搜索、查询操作。在系统的操作过程中体现了简单、方便、灵活的特点。值得信赖的可靠性和安全性系统可自动检测输入数据的准确性和完整性。当出现故障或事故造成系统中断后,系统对数据的完整性具有检测、保护和恢复能力。开放性及可扩充性软件设计采用标准化接口,硬件平台采用标准网络接口,采用开放式数据库互连接口(odbc),使本系统与其它应用系统容易实现互连。先进的internet支持系统采用先进的计算机网络、数据库技术、消息传递与工作流技术internet技术、安全与容错技术相结合。本系统为高校跨入信息化教学时代提供技术支撑平台,使校内应用(如成绩管理、学籍管理、毕业生信息管理等)系统从单机操作、c/s结构操作上升到基于web应用的b/s结构体系中来。系统提供丰富的服务以满足学校需要。第三章基于 web的数据库技术 随着计算机软硬件技术的发展,数据库技术也不断地推陈出新,并实时地结合各种先进的信息手段,在实际应用中发挥着越来越重要的作用。 3. 1 web数据库的发展历程 数据库技术从最早的单机模式、主从体系,发展到近年来应用较广的客户机/服务器(client/server,以下简称c/s)模式,又到目前最流行也最实用的浏览器/服务器(browser/server,以下简称b/s)模式。在设计一个系统时,我们首先要考虑的是系统的体系结构,采用哪种结构取决于系统的网络环境、应用需求等因素。3.1.1主机/终端结构早期由于主机价格昂贵,为了共享主机资源,一台主机要同时为多个用户服务,但这种系统由于没有和通信相结合,所连接的终端往往离主机的距离很近。这种结构的终端不需要做什么处理工作,一切数据处理都交给了主机去完成。由于主机包揽了数据处理的一切工作,这就要求它具有十分高的性能。这种结构中,服务器存储所有数据,进行所有处理运算,资源也得到了充分的共享,但是用户界面不友好,主机负载过大(如图3. 1所示)。图3. 1主机/终端结构 3. 1. 2客户机/服务器结构传统的c/s结构是两层的,基本思想是:服务器提供数据的存取和管理等,客户端运行相应的应用,通过网络获得服务器的服务,使用服务器上的数据库资源。与主机/终端模式相比,c/s结构更容易扩充,更加灵活。当信息系统的规模扩大或需求改变时,不必重新设计便可在原有基础上进行扩充和调整,从而保护了己有投资。为了应用客户机/服务器这种体系结构,原来完全放在主机上的应用程序被分成了两部分:客户机端的应用程序和服务器端的应用程序,如图3. 2所示。图3. 2二层结构 随着internet技术的普及和电子商务技术的发展,客户机/服务器结构的数据库系统正由2层向3层或多层发展。在如图3. 3所示的层结构中,应用程序的任务在逻辑上被划分为3种服务:用户服务、业务服务(中间层服务)和数据服务。用户服务在客户机上,提供了可视化的用户界面来表示信息和收集数据:业务服务在一个或多个业务服务器上,是联系用户服务和数据服务的“桥梁”,它们响应用户发来的请求,实施业务规则,处理和分析业务数据,获得业务结果:数据服务在数据库服务器上,负责数据的组织管理,包括数据的定义、维护、访问和更新以及管理并响应业务服务的数据请求。图3. 3三层结构 3. 1. 3浏览器/服务器结构 典型的c/s结构不仅要求为客户端安装前端应用程序,而且限制客户端的工作环境只能基于window、或unix操作系统,这些限制条件都不切实际。人们不能开发那种只能用于特定计算环境的软件,且在自己的web站点上同时保存某个应用程序的多个特定平台的版本是不可行的,因为这样不但使软件开发成本大幅度上涨,而且客户端的计算环境可能是千变万化的,无法预知客户端的计算环境会怎样改变。不过可以要求在客户机上安装某种具有一定“翻译”功能的统一的构件,这个构件便是浏览器。于是基于b/s的系统就应运而生了,b/s结构是在c/s结构基础上发展起来的,各个客户端只需安装一个简单的web浏览器,用户面对的将是简单统一的浏览器,而不是一个复杂的软件,这就降低了用户的使用难度。1.浏览器/服务器结构的工作原理浏览器/服务器模式的数据库体系是利用web服务器和asp (active server pages即动态服务器网页)作为数据库操作的中间层,将客户机/服务器模式的数据库结构与web技术密切结合,从而形成具有三层web结构的浏览器/服务器模式的数据库体系,具体结构如图3. 4所示。图3. 4三层web结构的数据库休系浏览器/服务器结构的工作原理是:在前端采用ie浏览器将用户提交的操作信息向web服务器发出http请求,web服务器通过asp和一些中间组件访问后台数据库,并将操作结果以html页面的形式返回给前端浏览器。2.浏览器/服务器模式的优点从本质上讲,b/s模式与传统c/s都是以同一种请求和应答方式来执行应用的。但传统的c/s是一种二层或三层结构模式,其客户端集中了大量应用软件,而b/s客户端仅需单一的浏览器软件,是一种全新的体系结构。3. 2 web数据库管理系统介绍传统的web站点大都由静态的html页面组成。当浏览器通过http向服务器发出请求时,服务器只是将原先己设计好的页面传送给浏览器。由于静态页面缺少交互性,因此动态内容的开发就成了越来越多的web站点追求的目标所谓“动态”是指用户按自己的需要通过浏览器发出请求,服务器运行一个脚本或程序来返回包含最新信息的页面供用户浏览。为了向用户提供大量有用、动态和可交互信息,凡是能够数据库化的内容,应尽量做成数据库的形式,因为数据库形式的数据远比其他形式的数据容易更新与管理。3. 2. 1 web数据库工作原理web数据库基于c/s结构,客户端是浏览器,服务器端是web服务器。浏览器和web服务器通过http交换信息。web上的大多数交互均可看成请求和响应,即浏览器向web服务器发出请求(一般是要求显示一个用户想看的网页)而web服务器则向浏览器返回响应(通常是一个html页面或图像等)。 基于web的数据库采用3层的客户端/服务器结构:第一层是浏览器,第二层是web服务器,第三层包括一些应用程序及相关的数据库。浏览器作为用户输入查询条件和显示查询结果的交互界面,用户可以通过填写表单或输入关键字的方式来与web交互。当用户单击表单上的按钮时,表单中的数据便被发送到web服务器。web服务器负责用户输入信息的接收,它将数据传送至要被处理的脚本或应用程序,并在数据库中查询数据。最后,web服务器将返回结果插入到html页面,传送至浏览器以响应用户。如图3. 5所示。图3. 5 web数据库工作原理3.2.2访问web数据库的五种方法 目前在windows环境下有多种访问web数据库的技术,它不仅与操作系统有关,而且与数据库管理系统也有着必然的联系。主要方法有以下五种: 1.公共网关接口cgi (common gateway interface) cgi程序不仅使你能生成静态的内容,而且能生成动态的内容。 cg工程序的工作过程是: (1)浏览器将用户信息传递给web服务器; (2)web服务器运行cgi程序; (3) cgi程序通过cgi数据库网关对web数据库进行操作;(4) cgi程序将数据库操作结果返回给web服务器;(5) web服务器将结果数据传递给浏览器; (6)浏览器将数据库操作的结果显示给用户。该过程如图3. 6所示。cgi程序的工作过程图3. 6 cgi程序的工作过程cgi程序能运行在多种平台上完成一定的功能。在大多数情况下,cgi程序主要用perl语言编写。cgi是较早实现的技术。适用于多种服务器平台,如unix, windows等,但cgi的开发成本高、维护困难、功能有限、占用服务器资源较多。2. internet数据库连接器idc(internet database connector)这是一种简易方案,对数据库的操作仍然放在web服务器端,但用户可通过sql语句对数据库进行查询、愉入、更新、删除等操作。idc设计简易,不用编译就可直接执行,且支持对数据的多重查询,只适用于小型数据库系统。3.先进数据库连接器adc (advance database connector)前两种方案中对数据库的操作都是在服务器端进行,而adc是在浏览器端执行数据查询动作。当浏览器提出对数据库的操作请求时,adc先将相应的数据库下载到浏览器端,在用户端对数据库进行操作。显然,这种方案效率很高。adc系统开销较大、响应慢,只适用于特别频繁的数据库查询操作。4. java/jdbc语言编程用java语言实现www数据库,该技术主要是作用jdbc技术访问数据库。jdbc是一种规范,其宗旨是让各数据库开发商为java程序员提供标准的数据库访问类和接口。jdbc与java的结合,使用户可以很容易地指导sql语句传送到任何关系数据库中。java语言是一种面向对象、易移植、多线程控制的语言。用java/jdbc语言编写的软件可移植性强,适用于多种操作系统,但其执行效率和执行速度还不理想,目前无法建立高效、高速的应用。5.动态服务器页面aspasp是基于web的一种编程技术,可以轻松地实现对页面内容的动态控制,根据不同的浏览者,显示不同的页面内容。而浏览者一点觉察不出来,就像为他专门制作的页面一样。有ado (active database object,动态数据库对象)的支持,asp对数据库的操作非常得心应手。你甚至可以像使用本地数据库那样,管理远程主机上的数据库,对表格、记录进行各种操作。asp着重于处理动态网页和web数据库的开发,编程灵活、简洁,具有较高的性能,是目前访问web数据库的最佳选择。随着internet技术的发展,开发基于web的应用程序势在必行,数据库技术更是需要和web技术相结合,才有更为广阔的前景。asp作为微软推出的新兴web应用程序开发技术,在数据库应用方面必将发挥越来越重要的作用,同时浏览器/服务器模式的数据库体系也将逐渐成为数据库结构的主流。第四章 asp技术访问学生成绩数据库 asp是微软公司推出的最新网络应用程序开发技术,是服务器端脚本编写环境,使用它可以创建和运行动态、交互的应用程序,可以组合html页,脚本命令和activex组件以创建交互的网络页和基于网络的功能强大的应用程序。目前asp己成为开发动态网站和网络数据库的主要技术之一。 4. 1 asp的工作原理 asp访问数据库的工作原理如下: asp脚本实际上是一种服务器端的解释脚本,其脚本包含在以.asp为后缀的文件中。当在浏览器中访问以后缀名为.asp的asp主页时,网络服务器响应http请求并调用asp引擎(asp.dll)执行该文件并解释执行其中的任何脚本(vbscript或javascript),若脚本中有访问数据库请求,立刻通过odbc与相应的后台数据库相连,由数据库访问组件ado(activex data objects)完成操作,最后,asp根据访问数据库的结果集生成包含有数据查询结果的html语言的主页返回给前端用户(工作原理见图4. 1)。图4. 1 asp访问web数据库的工作原理 由于asp在服务器端运行,运行结果以html主页形式返回用户浏览器,也就是说,用户在前端浏览器看到的仅仅是asp页的执行结果所生成的页,而asp的页本身的内容用户在前端浏览器是看不到的,因而asp源程序不会泄密,增加了系统的安全保密性。此外,asp是面向对象的脚本环境,用户可自行增加activex组件来扩充其功能,拓展应用范围。4. 2 asp页面的结构asp的程序代码简单通用,文件名由.asp结尾,asp文件通常由四部分构成: 1.标准的html标记:所有的html标记均可使用。 2. asp语法命令:位于标签内的asp代码。 3.服务器端的包括语句:可用#包括语句调入其它asp代码,增强了编程的灵活性。 4.脚本语言:as p自带jscript和vbscript两种脚本语言,增加了asp的编程功能,用户也可安装其它脚本语言,如perl, rexx等。 活跃的手写体就是用vbscript,javascript, perl等脚本语言并遵照asp的语法规则编写出的程序,同时在程序两端加上这两个定界符即可。 4. 3 asp提供的内置对象和组件 asp提供了功能强大的六个内置对象和五个内置组件,利用这些对象和组件可以开发出非常完美的网络应用程序。 其中六个内置对象如下: request(请求):从前端用户取得信息。request对象将客户端信息保存在某个指定的集合中,提供给asp使用。通用的访问方法为:request. collection (member name)。当不指定集合名时,asp将以querystring, form. cookie, server variable的)匝序搜索所有集合,自动引用它找到的第一个匹配的变量。 reponse(响应):将信息送给前端用户。reponse对象可用来构建对信息的反馈。 server(服务器):提供网络服务器工具 session(会话):储存在一次会话内的用户信息,仅被该用户访问 application(应用):管理所有的会话信息,供所有用户共享 object context(对象上下文):提交或中止由asp脚本启动的事务( i is6.0新增) asp有五个主要的内建对象:request, reponse, server, session, application,下面将分别举例对其进行说明。 4. 3. 1用request和reponse接收向成绩库提交的数据井作出响应asp依然遵从流行的,利用客户端的形成进行数据交换的方法。asp内建的request对象拥有五个获取客户端资料的方法(querystring/form/cookies /server variables)。 集合: querystring:浏览器端以get方式所返回的表单数据。 form:包含浏览器端以post方式所返回的窗口数据。 cookies:用来读取cookie的值。 server variables:服务器端环境变量的值。 使用request对象,可以收集并处理用户通过http请求传送的信息,如html表单用post或get方式传递的参数,cookies数据和环境变量等。这些信息可以分别从request对象的集合querystring,form ,cookies ,server variables等中获取。 语法:request集合名称(参数)或request(参数) 如果采用后者,系统会自动选择相应的方法。 例如,以下语句用于从html表单中取得用post方法传递的用户名为lilin数据: strlilin=request. form(lilin) 如果省略集合名称,则可以这样写: strlilin=请求(lilin)asp将按querystring,form, cookies和server variables顺序来搜索集合,当发现第一个匹配的变量时,就认定它是要引用的成员。显然省略集合名称会影响执行效率。为了提高效率,最好明确地指定是哪个集合中的成员。reponse对象用于将服务器端的数据以html格式发送到客户端浏览器。该对象的功能正好与request对象的功能相反,即request对象用于得到用户提交的数据,而reponse对象用于发送数据,两者结合在一起,才使数据的动态交互成为可能。例如,在一个信息查询页面中,当用户输入查询条件交提交到服务器时,需要编写一个asp程序,用request对象得到用户输入查询条件有,然后根据查询条件查找数据,并将查找到的结果用response对象返回到浏览器。 4. 3. 2用post和get方法获取表单输入数据学生学籍管理系统中,先建立一个用户输入界面的表单,这是一个让浏览者输入数据的形式,然后将这些数据返回到web服务器,以备登录或查询使用。而request对象的用途是帮助我们读取这些表单数据,而读取表单数据的方法取决于表单数据返回服务器端的方式。若在标记中将method属性设为get ,表单数据将以字符串的方式附加在网址后面返回服务器端,例如:http: /127 0 0 1/lw/netquery . htm? name=mary&id=9801001,问号后面的字符串便是表单数据,此时就要用request对象的querystring集合来获取表单数据;若将method属性设为“post,表单数据将以放在http标头(header)的方式返回服务器端,该方式通过request对象的form集合获取数据。 如果表单处理很简单,所提交的数据很少且该数据的安全性并不重要,那么采用get的方法比较好,因为它使用简单的方式向服务器传输数据。但是用这种方式请求串的长度会受限制,而且处理密码的表单安全性差。采用post方式输入的请求串长度不受限制,并且在用户端的浏览器的地址栏里也不会出现请求的数据。其操作方式是先将数据包装起来再传送出去。在本系统中对于查询模块的数据对象是公开的,在不考虑请求串长度的情况下,可用默认的get方式,但在删除、修改模块中,因为有口令的验证,所以是需要先用post方式。鉴于此,不妨将method属性均设为post方式。那么,在查询模块中,判别用户输入的搜索类别是否为姓名的条件可为:requestform( kind)=“姓名”,其中kind为姓名或学号的表单项名。通过这个方式,可将用户在表单界面输入的某一个本已传送到服务器端的数据获取发。这就非常方便后面的处理工作。 4.3.3 server对象提供服务器端的基本属性和方法 server对象会为你提供一些固定的server端的方法和属性,包括script timeout. mappath. server.create06ject和urlencode等。 1.属性 scripttimeout是server的属性,它规定一个asp程序必须在指定的时间内执行,逾期就不再执行。 如:serverscripttimeout=200(计数单位为秒,缺省时为90秒)。 2.方法mappath方法语法:server. mappath (path)mappath是server一个方法,用于把web server的虚拟路径转换为实际路径。如servermappath(/)=c: inetpubwwwroot,对于路径参数“/”和“”,asp都会视为一样。在这里有一点要注意的是,系统只是对应web server的真实根目录输出结果,而不会去检查文件系统中是否真的存在这样一个目录。 server.create0bject方法 语法:server.create0bject (progid) progid指定要创建的对象的实例 server.create0bject是server对象中最重要的方法,用于创建已注册到服务器上的activex组件的实例。activex组件能够轻松地扩展activex的能力,实现许多重要的功能,如:数据库的连接、文件的访问等功能。正是这些组件才使asp具有强大的生命力。 服务器组件和asp内置的对象一样有集合、属性和方法,但不同的是无法直接存取,必须先建立一个对象实例,然后再通过此对象实例去存取其集合、属性和方法。鉴于此原因,在学生学籍管理系统中要想使用数据访问组件,必须先用此方法建立一个对象实例,才可去做其它删减记录的操作。 在学生学籍管理系统中,为了访问成绩库,必须先建立对象实例,如: set objs=server.create06ject(“dodb. connection”) 其中,set是vbscript关键词,objs是这个对象的名称,习惯上将对象实例的名称以obj开头来命名,adodb是asp服务器的一个组件,用于处理数据库。 默认情况下,由server.create0bject方法创建的对象具有页作用域,即当asp页处理完之后,服务器将自动破坏这些对象,也可通过nothing来释放创建的组件所占的资源。如: urlencode方法 urlencode方法根据url编码原则,把源字符串编码为目标字符串,其中空白的字符用“+”代替。4. 3. 4 session对象session是asp中一个非常重要的对象,编程时,都会涉及到变量是定义为全局变量还是局部变量这个问题。但在internet上的开发却很少提及这个问题(java除外),因为每一个html页面都是非相关的,传输完毕后,全部链接都会断开。在asp中则不一样,我们可以定义一些全局变量,在当前浏览器没有被关闭前使用。这些变量可以在global. asp中进行定义。 语法:session.属性|法 一般建立新的session对象都是采用set关键字,如%set session(“变量名称“)=要赋的值。如果赋给session变量的是一个数组,则读取时需存放到数组中,因为系统是将其视为一个对象(object)。 4. 3. 5 application对象 global. asa是用于定义session, application和object对象的一个文件,客户端是不能看到该文件的。但该文件一定要放在程序的根目录上,而且文本中不能有html标记并且文件名不能改动。下面是一个global. asa文本的范例。 sub session_onstart ,=visual interdev generated一dataconnection startspan=二 ,-project data connectionsession(nnb_connectionstring)=dsn=*;uid=lilin ;app=microsoft(r) developer studio; wsid=lilin;database=* session(nnb connectiontimeout)=15 session(nnb_commandtimeout)=30 session(nnb_ runtimelisername)=lilin session(nnb_ runtimepassword)=* ,=visual interdev generated一dataconnection endspan= end sub application与session的区别在于,网上的用户都可以使用application的对象,因而是需要加锁的;而session只是针对一个客户而已。如定义一个application变量为application(name)=1234。 asp更高级的应用还包括它内建有一些activex控件和可调用其它的控件等功能,暂不在本文讨论。 4. 4通过asp与学生成绩数据库建立连接 因为需要操作服务器端的数据库,所以必须在数据库与服务器之间建立连接,建立连接(connection)是数据库存取的开始。 1.建立connection对象 我们使用asp的内建对象方法server.createobject建立与数据库的连接。adodb是asp内置的数据库存取组件。 这样就创建了一个名为cn的connection对象实例,通过这个对象实例,就可使用connection对象提供的open方法打开与数据库的连接。 2.使用open方法打开与成绩数据库的连接(成绩数据库stxf. dbf)。driver参数语法:driver=microsoft access driver(*.mdb)告诉系统使用access数据库的odbc驱动处理。dbq用来指定打开的数据库文件名,它必须是完整

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论