网络系统集成技术6ppt课件_第1页
网络系统集成技术6ppt课件_第2页
网络系统集成技术6ppt课件_第3页
网络系统集成技术6ppt课件_第4页
网络系统集成技术6ppt课件_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

网络系统集成技术NetworksSystemIntegrating,.,2,第六章Web数据库开发基础,.,3,本章主要内容,6.1Web数据库的概念6.2Web数据库访问技术6.3Web数据库的技术实现6.4ASP基础内置对象6.5ASP基础Web库操作下学期有Web数据库程序设计课,本章只结合实例作简要介绍,.,4,6.1Web数据库的概念,.,5,WhatisaWebDatabase?,AdatabaseinawebsiteThreelayerstructure:Browser/Server/DatabaseServerClient:Browser+HTMLstandardServer:HomePage+Programming+DatabaseHomePage:FormsDesigninganinteractinguserinterfaceProgramming:CGI/ASP/PHP/JSP/WritingprogramstoaccessadatabaseinawebsiteDatabase:Access/SQLserver/Buildingadatastorageandmanagementsystem,.,6,地址栏中的网址,浏览器上网页形成的过程,用户电脑,浏览器,Web服务器,网页浏览原理:浏览器(client端)用户电脑发出HTTP请求,并按HTML等形式显示网页文件内容网站(server端)Web服务器响应浏览器请求,传送网页文件给浏览器,网页文件,Web数据库的存取方式(一),用户电脑,浏览器,Web服务器,Web数据库,CGI程序,存取,通过服务器端的CGI程序响应用户查询要求,用户通过表单提交后,指定的服务器端CGI程序对Web数据库进行存取操作,而后将结果以网页(HTML)形式返回到客户端,Web数据库的存取方式(二),用户电脑,浏览器,Web服务器(IIS或PWS),Web数据库,ODBC驱动程序,存取,通过服务器端的asp程序响应用户的要求,服务器接受用户端请求时会判断要求下载的是否.asp文件,如不是,直接发送网页。如是,再判断该文件是否含有使用ADO对象的script(JavaScript或VBScript)内容。如有,启动对应的ODBC驱动程序,通过ADO对象访问数据库。如需显示结果,则Script会利用ASP提供的输出对象送出数据传送给浏览器。,含有ADO对象的ASP指令、VBScript、JavaScript程序段,.,9,静态网页与动态网页,所谓静态网页,指的是网页从服务器传到客户端时,网页的内容是“固定不变”的,也就是说,服务器只是把所存储的网页的内容原封不动直接传递给客户端浏览器,这种网页一般是标准的HTML代码。所谓动态网页,它在由服务器传递给客户端的时候将由服务器把它转换成相应的HTML格式,而且会根据用户的要求和选择在服务器端做出相应的改变和响应。,.,10,动态网页,网页的静态和动态,是指网页的内容是否可根据某种条件的改变而自动改变,与页面是否有动画性变化无关。网页计数器:动态的,当有人点击网页时,计数器的值会自动增加BBS论坛:动态的,用户发布信息时,网页内容会自动更新,显示出新发布的信息及相关回复;等等。Flash等动画(如Flash):静态的,一旦制作完成后就不会再改变。实现动态网页,要用到一些动态语言,如ASP、PHP、CGI、JSP、ASP.NET等。因此我们判断动态、静态网页时,可以简单的认为,采用了以上语言编写的网页,肯定是动态的,而只采用了html文件的网页,则是静态的。静态网页文件名后缀有.htm、.html、.shtml、.xml等常见形式,而动态网页文件名后缀有.asp、.jsp、.php、.pl、.cgi等常见形式,.,11,6.2Web数据库访问技术,.,12,ASP开发技术,ASP(ActiveServerPages,活动服务器页)微软公司97年推出的一种网页与数据库解决方案,利用微软的ActiveX技术在服务器端动态生成HTML页面的一种脚本环境。ASP是一种运行于服务器端的Web应用程序开发技术,它采用封装对象,程序调用对象的技术,简化了编程。开发者无需进行复杂编程,就可以开发出动态的、交互的、各种功能的Web应用程序。ASP应用程序必须运行在配备IIS(WindowsNT/2000/2003)或PWS(Windows9X)的服务器上。IIS(InternetInformationServer)PWS(PersonalWebServer)常用开发工具:MicrosoftVisualInterDevMacromediaDreamweaverUltraDev最新一代:ASP.NET(,ActiveXVC+MSDN的解释:Asetoftechnologiesthatenablessoftwarecomponentstointeractwithoneanotherinanetworkedenvironment,regardlessofthelanguageinwhichtheywerecreated.ActiveXisbuiltontheComponentObjectModel(COM).金山词霸的解释:微软倡导的ActiveX网络化多媒体对象技术,.,13,关于ASP.NET,由于ASP程序和网页的HTML混合在一起,使得程序看上去相当的杂乱。而在现在的网站设计过程中,通常是由程序开发人员做后台的程序开发,前面有专业的美工设计页面,这样,在相互配合的过程中就会产生各种各样的问题。同时,ASP页面是有脚本语言解释执行的,速度受到影响。受到脚本语言自身条件的限制,而且在编写ASP程序的时候不得不调用COM组件来完成一些功能。由于以上种种限制,微软推出了ASP.NET。ASP.NET提供了一个全新而强大的服务器控件结构。从外观上看,ASP.NET和ASP是相近的,但是从本质上是完全不同的。ASP.NET几乎全是基于组件和模块化,每一个页、对象和HTML元素都是一个运行的组件对象。在开发语言上,ASP.NET抛弃了VBScript和JScript,而使用.NETFramework所支持的VB.NET,C#.NET等语言做为其开发语言,这些语言生成的网页在后台被转换成了类并编译成了一个DLL。由于ASP.NET是编译执行的,所以它比ASP拥有了更高的效率。,.,14,PHP(PersonalHomePageTools)类似于ASP的一种服务器端脚本语言,其语法大多从C、JAVA、PERL语言中借来,可更快速开发交互式动态网页。跨平台强大的数据库集成功能(相同的PHP代码无需更改即可在不同操作系统的Web服务器上运行),但提供的数据库接口不统一(如对Oracle、Sybase和MySQL的接口不同)等原因,不适合于电子商务类网站。最佳组合:Linux+Apache+MySQL+PHP目前Internet上流行的网站构架方式,即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。由于这四个软件都是开放源码软件,因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统。常用开发工具:ZDE(ZENDDEVELOPMENTENVIORMENT)PHPED最新版本:PHP5.0.4(课件目录下可下载)主要网站:,PHP开发技术,.,15,JSP(JavaServerPages)JSP是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送email等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无JavaApplet,甚至无Frame。跨平台支持(国外电子商务类网站多采有JSP技术)通过JDBC实现与数据库的连接,JSP开发技术,.,16,ASP主要适用于WindowsNT/2000/2003服务器平台,与IIS配套,无须专门安装即可使用;PHP和JSP在大多数Linux、微软Windows平台、UNIX平台上均可用,但需专门安装。ASP网页的文件扩展名为.asp,PHP网页的文件扩展名为.php,JSP网页的文件扩展名为.jsp性能比较(循环性能和数据库存取测试)循环性能:JSP2000020000次循环(4秒)/ASP和PHP20002000次循环(相差100倍)分别为63秒和84秒数据库存取(对Oracle8进行1000次插入/更新/选择/删除操作):JSP13秒/PHP69秒/ASP73秒其余参见P329表10-1ASP、PHP与JSP技术的平台性能比较表10-2ASP、PHP与JSP技术的应用性能比较,ASP、PHP与JSP技术性能比较,.,17,CGI开发技术,CGI(CommonGatewayInterface,通用网关接口)用于连接主页和应用程序的接口。HTML语言的功能比较贫乏,难以完成诸如访问数据库等一类的操作,如果需要先对数据库进行操作(比如文件检索系统),然后把访问的结果动态地显示在主页上,只用HTML是无法做到的,所以CGI便应运而生。CGI是在WebServer端运行的一个可执行程序,通过主页链接激活进行调用,并对该程序的返回结果进行处理,显示在主页上。最常用的CGI编程语言有Perl,此外还有C,C+,shellScript和VB。Perl编程效率最高,功能最强,但程序调试性较差。CGI网页的文件扩展名与所用编程语言有关。如Perl为.pl,VB为.bas等。缺点:安全性较差/繁多进程占用大量服务器资源/编程困难,而且没有自动保留状态信息的功能(如用户状态),已不多用此外使用CGI程序时,需要不断地产生和销毁进程(process),执行效率不高,一般情况:HTML100%ASP10%CGI1%,.,18,6.3Web数据库的技术实现,.,19,建立数据库安装该数据库所需的ODBC驱动程序创建ODBC数据源制作表单网页和ASP网页,基本原理与流程,.,20,小型网站常用Web数据库软件Access,MicrosoftOffice家族中的一员,是一种数据库软件。其数据库中有一个或多个表(table),表中又有一个或多个数据栏(field),数据栏中存放的是实际的数据(data)。除了可以用来生成和管理数据库,还有一个功能,即制作ASP网页。Access数据库(.mdb)生成的方法:新建空Access数据库创建表可以将其他相关文件(如.dbf、.xls等文件)转换为.mdb文件(获取外部数据导入)一个Access数据库可以有多个表。彼此之间可通过主关键字关联。,.,21,实用技术,外部数据转入(使用其他文件的数据)获取外部数据导入数据转出导出复制数据(上图)随机密码的生成(下图),要产生一组介于上限和下限之间的随机数:(9999-1000)Rnd(-Timer()+1000(上限-下限)随机数+下限示例:jdw%+CStr(Int(9999-1000)*Rnd(-Timer()+1000)+#,.,22,名词解释,ODBC(OpenDataBaseConnectivity,开放式数据库互联)由微软公司制定的数据库标准接口。只要用户使用的数据库软件提供了ODBC驱动程序,就可让应用程序来存取这些数据库。早期的数据库程序开发者必须使用服务器数据库厂商提供的开发工具才能实现数据库的存取,因为每种数据库软件建立的文件类型不同。通过ODBC则可以存取不同厂商所提供的服务器数据库。,.,23,创建ODBC数据源,安装数据库驱动程序在Office套件安装后,一般情况下Access的ODBC驱动程序为已安装。创建系统数据源系统DSN添加选择驱动程序ODBCMicrosoftAccess安装数据源名选取数据库高级(设置存取密码),.,24,检查服务器的ASP是否正常,IIS的默认Web站点设置检查主目录文档测试ASP工作是否正常编写一个a.asp文档,存放在主目录下a.asp文件内容/asp浏览器窗口上应出现当时日期和时间显示,.,25,相关的HTML知识(复习),问题:HTML(HyperTextMarkupLanguage,超文本标记语言)为什么如此称呼?问题:网页基本构成问题:常见标记问题:表单基本构成问题:表单元素文本框、复选框、单选按钮、列表框,.,26,.,27,常见表单元素(1),文本框普通文本框显示长度为10字符、最大长度为20个字符密码型文本框多行文本框(文本区域)5行每行50个字符的多行文本框,.,28,常见表单元素(2),复选框香蕉苹果(已预选)多个复选框中的name不能同值单选框香蕉苹果(已预选),.,29,常见表单元素(3),下拉列表框电子信息工程学系外国语言学系汉语言文学系体育系,.,30,常见表单元素(4),单选列表框与多选列表框系部领导学院领导学生干部高职称教师size=3”显示三行multiple多选,.,31,表单及其数据的读取,Form(表单)设计每一个输入栏必须设定NAME属性,当数据被送出时,NAME属性的值会和其相对应的VALUE属性的值被转换为“NAME=VALUE”的形式发送。不同的输入栏中间会以“UID=;PWD=打开ODBC中的数据源address源(UID用户帐号;PWD密码)Open是Connection对象的一个方法。若所需数据库有安全性管制,应附加用户帐号和密码两项,否则不加。如:MyCon.OpenDSN=address此句的作用类似于FoxBASE语句:useaddress,.,54,直接链接时的链接字符串,如果不采用ODBC数据源,则链接字符串的形式如下:Provider=Microsoft.Jet.OLEDB4.0;DataSource=数据库路径名称若所需数据库有安全性管制,应附加用户帐号和密码两项,否则不加。如对Access数据库stu.mdb:SetMyCon=Server.CreatObject(ADODB.Connection)MyCon.OpenProvider=Microsoft.Jet.OLEDB4.0;DataSource=stu.mdb如果数据源路径是网站所设定的虚拟目录(设为C:aspptu),刚可用MyCon.OpenProvider=Microsoft.Jet.OLEDB4.0;DataSource=&Server.MapPath(stu.mdb)句中Server.MapPath(stu.mdb)代表C:aspptustu.mdb,.,55,经验:NTFS下ODBC数据源的使用,服务器文件系统为NTFS格式时,如果用户通过浏览器对ODBC数据库的记录进行更新、删除等写操作,会因权限不足而出现出错提示(但查询正常)。解决方案:设置权限使IUSR_.(Internet来宾帐号)对c:programfilescommonfilesODBC文件夹有写入权设置权限使IUSR_.(Internet来宾帐号)对c:winnttemp文件夹有写入权设置权限使IUSR_.(Internet来宾帐号)对ACCESS数据库文件所在的文件夹有写入权(读取与写入权限即够了),.,56,提取数据库中的记录,建立数据库链接后,connection对象变量就将在ASP程序中代表所要操作的数据库RecordSet的概念RecordSet用于储存connetcion对象读取的数据纪录。每个RecordSet对象都相当于一个数据表,保存着用该对象的Open指令读取所需的全部记录,并可通过记录指针的移动对这些记录进行各种库操作(开始时记录指针指在第一条记录处),.,57,SetRS=Server.CreateObject(“ADODB.RecordSet”)建立一个名为RS的RecordSet对象此句的作用是产生一个可在数据表中移动指针的ADO对象。SetRS.ActiveConnection=MyCon将RS与Connection对象MyCon联系起来。RS.Openselect*fromstudentwhere学号like&Request.Form(T1)&,1,2在MyCon代表的数据库中打开数据表student,按where子句的要求提取记录,存放在所建立的RecordSet对象RS中,以便进行库操作,典型语句,.,58,小结:你明白了没有?,打开Web数据库的操作不同于一般数据库先建立一个库对象,将它与服务器上的所需操作的某个数据库链接。在程序中将用也只用该库对象名代表所操作的数据库。然后建立一个记录集对象,用它存入所需操作的全部记录。在程序中将用、也只用该记录集对象代表所操作的数据。事实上还有其他一些语句可以实现以上功能。下学期诸位将会在专门的课程中学到。,.,59,常用SQL查询语句用法,Select字段名1,字段名2,from表名从表中取所指定字段的数据*表示所有字段Select字段名1,字段名2,from表名where查询条件从表中取符合查询条件的所指定字段的数据(见右例)Select字段名1,字段名2,from表名Orderby字段名1,字段名2,desc从表中取所指定字段的数据,将数据依序排列(desc表示从大到小排序),【例】Select姓名,职称from表名wherename=“华生”Select姓名,职称from表名wherename=“华*”Select*from表名wherename=“*生*”,注:在ADOSQL中模糊查找格式有所不同(见下),.,60,典型ADOSQL查询语句分析,精确查找Select*from数据表名where字段名=例:Select*frompersonwherename=陈秀振Select*fromchengjiwhere考试日期=#2000/6/8#Select*fromabcwherewages=“&Request.Form(“T1”)&”,.,61,模糊查找在where子句中用like和通配符%、_表示%相当于DOS命令中的*_相当于DOS命令中的?例:Select*frompersonwherenamelike陈秀%Select*fromabcwherenamelike%“&Request.Form(“T1”)&”%,.,62,记录集操作常用语句,读取某一字段的数据记录集名.Fields(“字段名”)移动记录指针刚建立记录集(RecordSet)对象时,记录指针位置在第一条记录集名.MoveNext将记录指针移至下一条记录处记录集名.MovePrevious将记录指针移至上一条记录处记录集名.MoveFirst将记录指针移至第一条记录处记录集名.MoveLast将记录指针移至最后一条记录处临界判断记录集名.EOF为False表示记录指针仍指向记录集中的某一条记录,为True,则表示记录指针已移到最后一条记录之下(移到底了)记录集名.BOF为False表示记录指针仍指向记录集中的某一条记录,为True,则表示记录指针已移到第一条记录之上(移到顶了)关闭记录集记录集名.Close(关闭记录集,释放所占内存)Set记录集名=Nothing(仅删除记录集中的所有记录,不关闭对象),.,63,其他常用语句,判断语句(示例)If记

温馨提示

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

评论

0/150

提交评论