网络系统集成技术NetworksSystemIntegrating教案

上传人:pu****.1 文档编号:570993415 上传时间:2024-08-07 格式:PPT 页数:68 大小:617.50KB
返回 下载 相关 举报
网络系统集成技术NetworksSystemIntegrating教案_第1页
第1页 / 共68页
网络系统集成技术NetworksSystemIntegrating教案_第2页
第2页 / 共68页
网络系统集成技术NetworksSystemIntegrating教案_第3页
第3页 / 共68页
网络系统集成技术NetworksSystemIntegrating教案_第4页
第4页 / 共68页
网络系统集成技术NetworksSystemIntegrating教案_第5页
第5页 / 共68页
点击查看更多>>
资源描述

《网络系统集成技术NetworksSystemIntegrating教案》由会员分享,可在线阅读,更多相关《网络系统集成技术NetworksSystemIntegrating教案(68页珍藏版)》请在金锄头文库上搜索。

1、网络系统集成技术NetworksSystemIntegratingStillwatersrundeep.流静水深流静水深,人静心深人静心深Wherethereislife,thereishope。有生命必有希望。有生命必有希望第六章第六章 Web Web数据库开发基础数据库开发基础莆田学院现代教育技术中心2005年4月本章主要内容本章主要内容n6.1 Web数据库的概念数据库的概念n6.2 Web数据库访问技术数据库访问技术n6.3 Web数据库的技术实现数据库的技术实现n6.4 ASP基础基础内置对象内置对象n6.5 ASP基础基础Web库操作库操作下学期有Web数据库程序设计课,本章只结合

2、实例作简要介绍莆田学院现代教育技术中心2005年4月6.1 Web数据库的概念数据库的概念莆田学院现代教育技术中心2005年4月 What is a Web Database?nA database in a websitenThree layer structure:Browser/Server/Database ServernClient: Browser + HTML standardnServer: HomePage +Programming+DatabaseHomePage: FormsnDesigning an interacting user interface Programm

3、ing: CGI/ASP/PHP/JSP/ n Writing programs to access a database in a websiteDatabase: Access/SQL server/ n Building a data storage and management system莆田学院现代教育技术中心2005年4月地址栏中的网址地址栏中的网址浏览器上网页形成的过程浏览器上网页形成的过程浏览器上网页形成的过程浏览器上网页形成的过程用户电脑用户电脑浏览器浏览器 http请求 传送网页Web服务器服务器网页浏览原理:网页浏览原理: 浏览器(浏览器(clientclient端)端

4、)用户电脑用户电脑 发出发出HTTPHTTP请求,并按请求,并按HTMLHTML等形式显示网页文件内容等形式显示网页文件内容 网站(网站(serverserver端)端)WebWeb服务器服务器 响应浏览器请求,传送网页文件给浏览器响应浏览器请求,传送网页文件给浏览器网页网页文件文件莆田学院现代教育技术中心2005年4月WebWebWebWeb数据库的存取方式(一)数据库的存取方式(一)数据库的存取方式(一)数据库的存取方式(一)用户电脑用户电脑浏览器浏览器返回存取结果返回存取结果Web服务器服务器Web数据库数据库CGI程序执行执行存取存取通过服务器端的通过服务器端的CGI程序程序响应用户查

5、询要求响应用户查询要求用户通过表单提交后,指定的服务器端CGI程序对Web数据库进行存取操作,而后将结果以网页(HTML)形式返回到客户端用户输入数据用户输入数据莆田学院现代教育技术中心2005年4月WebWebWebWeb数据库的存取方式(二)数据库的存取方式(二)数据库的存取方式(二)数据库的存取方式(二)用户电脑用户电脑浏览器浏览器读取asp网页返回html码结果Web服务器服务器( IIS或或PWS )Web数据库数据库ODBC驱动程序执行执行执行执行存存存存取取取取通过服务器端的通过服务器端的asp程序程序响应用户的要求响应用户的要求服务器接受用户端请求时会判断要求下载的是否.asp

6、文件,如不是,直接发送网页。如是,再判断该文件是否含有使用ADO对象的script(JavaScript 或 VBScript)内容。如有,启动对应的ODBC驱动程序,通过ADO对象访问数据库。如需显示结果,则Script会利用ASP提供的输出对象送出数据传送给浏览器。含有ADO对象的ASP指令、VBScript、JavaScript程序段莆田学院现代教育技术中心2005年4月静态网页与动态网页静态网页与动态网页n所谓静态网页,指的是网页从服务器传到所谓静态网页,指的是网页从服务器传到客户端时,网页的内容是客户端时,网页的内容是“固定不变固定不变”的,的,也就是说,服务器只是把所存储的网页的也

7、就是说,服务器只是把所存储的网页的内容原封不动直接传递给客户端浏览器,内容原封不动直接传递给客户端浏览器,这种网页一般是标准的这种网页一般是标准的HTML代码。代码。n所谓动态网页,它在由服务器传递给客户所谓动态网页,它在由服务器传递给客户端的时候将由服务器把它转换成相应的端的时候将由服务器把它转换成相应的HTML格式,而且会根据用户的要求和选择格式,而且会根据用户的要求和选择在服务器端做出相应的改变和响应。在服务器端做出相应的改变和响应。莆田学院现代教育技术中心2005年4月动态网页动态网页 n网页的静态和动态,是指网页的内容是否可根据某种条件的改网页的静态和动态,是指网页的内容是否可根据某

8、种条件的改变而自动改变,与页面是否有动画性变化无关。变而自动改变,与页面是否有动画性变化无关。n网页计数器:动态的,当有人点击网页时,计数器的值会自动增网页计数器:动态的,当有人点击网页时,计数器的值会自动增加加nBBS论坛:动态的,用户发布信息时,网页内容会自动更新,显论坛:动态的,用户发布信息时,网页内容会自动更新,显示出新发布的信息及相关回复;等等。示出新发布的信息及相关回复;等等。nFlash等动画(如等动画(如Flash):静态的,一旦制作完成后就不会再改):静态的,一旦制作完成后就不会再改变。变。n实现动态网页,要用到一些动态语言,如实现动态网页,要用到一些动态语言,如ASP、PH

9、P、CGI、JSP、ASP.NET等。因此我们判断动态、静态网页时,可以简等。因此我们判断动态、静态网页时,可以简单的认为,采用了以上语言编写的网页,肯定是动态的,而只单的认为,采用了以上语言编写的网页,肯定是动态的,而只采用了采用了html文件的网页,则是静态的。文件的网页,则是静态的。 n静态网页文件名后缀有静态网页文件名后缀有.htm、.html、.shtml、.xml等常见形式,等常见形式,而动态网页文件名后缀有而动态网页文件名后缀有.asp、.jsp、.php、.pl、.cgi等常见等常见形式形式莆田学院现代教育技术中心2005年4月6.2 Web数据库访问技术数据库访问技术莆田学院

10、现代教育技术中心2005年4月ASP开发技术开发技术nASP(Active Server Pages, 活动服务器页)活动服务器页) 微软公司97年推出的一种网页与数据库解决方案,利用微软的ActiveX技术在服务器端动态生成HTML页面的一种脚本环境。ASP是一种运行于服务器端的Web应用程序开发技术,它采用封装对象,程序调用对象的技术,简化了编程。开发者无需进行复杂编程,就可以开发出动态的、交互的、各种功能的Web应用程序。ASP应用程序必须运行在配备IIS(WindowsNT/2000/2003)或PWS(Windows9X)的服务器上。IIS(InternetInformationSe

11、rver)PWS(PersonalWebServer)常用开发工具:MicrosoftVisualInterDevMacromediaDreamweaverUltraDev最新一代:ASP.NET(http:/ Home Page Tools)类似于ASP的一种服务器端脚本语言,其语法大多从C、JAVA、PERL语言中借来,可更快速开发交互式动态网页。跨平台强大的数据库集成功能(相同的PHP代码无需更改即可在不同操作系统的Web服务器上运行),但提供的数据库接口不统一(如对Oracle、Sybase和MySQL的接口不同)等原因,不适合于电子商务类网站。最佳组合:Linux+Apache+My

12、SQL+PHP目前Internet上流行的网站构架方式,即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。由于这四个软件都是开放源码软件,因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统。常用开发工具:ZDE(ZENDDEVELOPMENTENVIORMENT)PHPED最新版本:PHP5.0.4(课件目录下可下载)主要网站:PHP开发技术开发技术莆田学院现代教育技术中心2005年4月nJSP(Java Server Pages)JSP是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术

13、标准。在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送email等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无JavaApplet,甚至无Frame。 跨平台支持(国外电子商务类网站多采有JSP技术)通过JDBC实现与

14、数据库的连接JSP开发技术开发技术莆田学院现代教育技术中心2005年4月nASP主要适用于WindowsNT/2000/2003服务器平台,与IIS配套,无须专门安装即可使用;PHP和JSP在大多数Linux、微软Windows平台、UNIX平台上均可用,但需专门安装。nASP网页的文件扩展名为.asp,PHP网页的文件扩展名为.php,JSP网页的文件扩展名为.jspn性能比较(循环性能和数据库存取测试)n循环性能:JSP2000020000次循环(4秒)/ASP和PHP20002000次循环(相差100倍)分别为63秒和84秒n数据库存取(对Oracle8进行1000次插入/更新/选择/删

15、除操作):JSP13秒/PHP69秒/ASP73秒n其余参见P329 表10-1ASP、PHP与JSP技术的平台性能比较表10-2ASP、PHP与JSP技术的应用性能比较ASP、PHP与与JSP技术性能比较技术性能比较莆田学院现代教育技术中心2005年4月CGI开发技术开发技术nCGI (Common Gateway Interface , 通用网关接口通用网关接口)n用于连接主页和应用程序的接口。nHTML语言的功能比较贫乏,难以完成诸如访问数据库等一类的操作,如果需要先对数据库进行操作(比如文件检索系统),然后把访问的结果动态地显示在主页上,只用HTML是无法做到的,所以CGI便应运而生。

16、nCGI是在WebServer端运行的一个可执行程序,通过主页链接激活进行调用,并对该程序的返回结果进行处理,显示在主页上。n最常用的CGI编程语言有Perl,此外还有C,C+,shellScript和VB。Perl编程效率最高,功能最强,但程序调试性较差。nCGI网页的文件扩展名与所用编程语言有关。如Perl为.pl,VB为.bas等。n缺点:安全性较差/繁多进程占用大量服务器资源/编程困难,而且没有自动保留状态信息的功能(如用户状态),已不多用n此外使用CGI程序时,需要不断地产生和销毁进程(process),执行效率不高,一般情况:HTML100%ASP10%CGI1%莆田学院现代教育技

17、术中心2005年4月6.3 Web数据库的技术实现数据库的技术实现莆田学院现代教育技术中心2005年4月n建立数据库n安装该数据库所需的ODBC驱动程序n创建ODBC数据源n制作表单网页和ASP网页应用程序Access 数据库数据库Oracle 数据库数据库VFP 数据库数据库Access ODBC DriverVFP ODBC DriverOracle ODBC Driver基本原理与流程基本原理与流程莆田学院现代教育技术中心2005年4月小型网站常用小型网站常用Web数据库软件数据库软件AccessnMicrosoft Office家族中的一员,是一种数据库软件。家族中的一员,是一种数据库

18、软件。n其数据库中有一个或多个表其数据库中有一个或多个表(table),表中又有一个或多,表中又有一个或多个数据栏个数据栏(field),数据栏中存放的是实际的数据,数据栏中存放的是实际的数据(data)。)。n除了可以用来生成和管理数据库,还有一个功能,即制作除了可以用来生成和管理数据库,还有一个功能,即制作ASP网页。网页。nAccess数据库(数据库(.mdb)生成的方法:生成的方法: 新建新建空空Access数据库数据库创建表创建表n可以将其他相关文件(如可以将其他相关文件(如.dbf、.xls等文件)转换为等文件)转换为.mdb文件(获取外部数据文件(获取外部数据 导入)导入)n一个

19、一个Access数据库可以有多个表。彼此之间可通过主关数据库可以有多个表。彼此之间可通过主关键字关联。键字关联。莆田学院现代教育技术中心2005年4月实用技术实用技术n外部数据转入外部数据转入(使用其他使用其他文件的数据文件的数据)获取外部数据获取外部数据导入导入n数据转出数据转出导出导出n复制数据复制数据(上图上图)n随机密码的生成随机密码的生成(下图下图) 要产生一组介于上限和下限之间的随机数要产生一组介于上限和下限之间的随机数: (9999-1000) Rnd(-Timer()+1000 (上限上限-下限下限) 随机数随机数+下限下限 示例示例: jdw%+CStr(Int(9999-1

20、000)*Rnd(-Timer()+1000)+#莆田学院现代教育技术中心2005年4月名词解释名词解释nODBC(Open DataBase Connectivity,开放式数开放式数据库互联)据库互联)由微软公司制定的数据库标准接口。只要用户使用的数据库软件提供了ODBC驱动程序,就可让应用程序来存取这些数据库。早期的数据库程序开发者必须使用服务器数据库厂商提供的开发工具才能实现数据库的存取,因为每种数据库软件建立的文件类型不同。通过ODBC则可以存取不同厂商所提供的服务器数据库。莆田学院现代教育技术中心2005年4月创建创建ODBC数据源数据源n安装数据库驱动程序安装数据库驱动程序 在在

21、Office套件安装后,一般情况下套件安装后,一般情况下Access的的ODBC驱动程序为已安装。驱动程序为已安装。n创建系统数据源创建系统数据源 系统系统DSN添加添加选择驱动程序选择驱动程序 ODBC Microsoft Access安装安装数据源名数据源名 选取数据库选取数据库高级高级(设置存取密码设置存取密码)莆田学院现代教育技术中心2005年4月检查服务器的检查服务器的ASP是否正常是否正常nIIS的默认的默认Web站点设置检查站点设置检查主目录主目录文档文档n测试测试ASP工作是否正常工作是否正常编写一个编写一个a.asp文档,存放在主目录下文档,存放在主目录下a.asp文件内容文

22、件内容 http:/127.0.0.1/asp 浏览器窗口上应出现当时日期和时间显示浏览器窗口上应出现当时日期和时间显示莆田学院现代教育技术中心2005年4月相关的相关的HTML知识知识(复习复习)n问题:问题: HTML (Hyper Text Markup Language,超文本标超文本标记语言记语言) 为什么如此称呼?为什么如此称呼?n问题:问题: 网页基本构成网页基本构成n n问题问题: 常见标记常见标记n n问题:表单基本构成问题:表单基本构成 n问题:表单元素问题:表单元素文本框、复选框、单选按钮、列表框文本框、复选框、单选按钮、列表框莆田学院现代教育技术中心2005年4月莆田学

23、院现代教育技术中心2005年4月常见表单元素(常见表单元素(1)n文本框文本框 普通文本框显示长度为普通文本框显示长度为10字符、最大长度为字符、最大长度为20个字符个字符 密码型文本框密码型文本框n多行文本框(文本区域)多行文本框(文本区域) 5行每行行每行50个字符的多行文本框个字符的多行文本框莆田学院现代教育技术中心2005年4月常见表单元素(常见表单元素(2)n复选框复选框香蕉香蕉苹果苹果 (已预选)(已预选)多个复选框中的多个复选框中的name不能同值不能同值n单选框单选框香蕉香蕉苹苹果果 (已预选)(已预选)莆田学院现代教育技术中心2005年4月常见表单元素(常见表单元素(3)n下

24、拉列表框下拉列表框 电子信息工程学系电子信息工程学系 外国语言学系外国语言学系 汉语言文学系汉语言文学系 体育系体育系 莆田学院现代教育技术中心2005年4月常见表单元素(常见表单元素(4)n单选列表框与多选列表框单选列表框与多选列表框 系部领导系部领导 学院领导学院领导 学生干部学生干部 高职称教师高职称教师 size=3” 显示三行显示三行 multiple 多选多选莆田学院现代教育技术中心2005年4月表单及其数据的读取表单及其数据的读取nForm(表单表单)设计设计n每一个输入栏必须设定每一个输入栏必须设定NAME属性属性,当数据被送出时当数据被送出时,NAME属性的值会和其相对应的属

25、性的值会和其相对应的VALUE属性的值被转换属性的值被转换为为“NAME=VALUE”的形式发送。不同的输入栏中间会的形式发送。不同的输入栏中间会以以“&”作分隔,即会形成作分隔,即会形成“NAME1=VALUE1&NAME2=VALUE2”的形式的形式n两种提交方法两种提交方法nGET 使用使用URL直接向服务器提交数据直接向服务器提交数据n数据加在数据加在URL名后名后,用用“?”分隔分隔(总长度不得超过总长度不得超过1024个字节个字节)nPOST 通过通过STDIN(标准输入标准输入)提交数据提交数据n数据编码后隐密发送,且长度不受限制数据编码后隐密发送,且长度不受限制莆田学院现代教育

26、技术中心2005年4月METHOD = GETnGET方法的含义方法的含义 Brower按按HTTP(HyperText Transfer Protocol)将用户将用户提交的数据传送出去,而提交的数据传送出去,而Server会把数据存放在服务器环会把数据存放在服务器环境变量境变量QUERY_STRING中,供处理程序(由表单的中,供处理程序(由表单的action属性指定)使用。适合于传输少量的非隐密性的数属性指定)使用。适合于传输少量的非隐密性的数据。据。n什么是环境变量?什么是环境变量? 一些由一些由WEB服务器软件申明的、保存用户信息的内存区。服务器软件申明的、保存用户信息的内存区。当服

27、务器软件一旦运行,这些环境变量就存在于服务器内当服务器软件一旦运行,这些环境变量就存在于服务器内存中。当服务器收到一个客户机的请求后,它首先要收集存中。当服务器收到一个客户机的请求后,它首先要收集它能得到的所有相关信息,并把它放入内存的环境变量中,它能得到的所有相关信息,并把它放入内存的环境变量中,等待等待ASP/PHP/CGI等程序去处理。等程序去处理。莆田学院现代教育技术中心2005年4月METHOD = POSTnPOST方法的含义方法的含义 把用户在表单中填写的数据变成一个数据把用户在表单中填写的数据变成一个数据包包/数据流传给表单的数据流传给表单的Action属性指定的处属性指定的处

28、理程序。理程序。n适合传输较大量的或隐密性的数据适合传输较大量的或隐密性的数据n最常用最常用莆田学院现代教育技术中心2005年4月示例示例 n提交后相当于客户机向服务器发出了一个如下的提交后相当于客户机向服务器发出了一个如下的URL请求:请求: http:/xxx/a.asp?name1=aabb&name2=ccddn此时服务器端的环境变量此时服务器端的环境变量QUERY_STRING和环境变量和环境变量REQUEST_METHOD的值改变为:的值改变为: QUERY_STRING=“name1=aabb&name2=ccdd” REQUEST_METHOD=GETnASP程序可以用以下语句

29、读取表单元素的值程序可以用以下语句读取表单元素的值 Request(“表单元素名表单元素名”) Request.QueryString(“表单元素名表单元素名”) (仅用于(仅用于GET方法)方法)莆田学院现代教育技术中心2005年4月表单提交时字符的编码规则表单提交时字符的编码规则n变量之间用变量之间用“&”分隔分隔n变量与其对应值之间用变量与其对应值之间用“=”分隔分隔n空格以空格以“+”代替代替n特殊字符如特殊字符如“&”、 “=”、ASCII码码128以以上的字符及汉字,以上的字符及汉字,以“%XX”代替,其中代替,其中“XX”为特殊字符的为特殊字符的16进制进制ASCII码码n空格为

30、非法数据空格为非法数据n任意不可打印的任意不可打印的ASCII控制字符为非法字符控制字符为非法字符莆田学院现代教育技术中心2005年4月示例示例表单(表单(6-1.htm)元素:)元素:你的姓名(你的姓名(name):输入):输入“张三张三”你的密码(你的密码(pwd):输入):输入“ab cd”性别(性别(male):单选):单选“男男”(value=male)提交给服务器时将会显现:提交给服务器时将会显现: http:/127.0.0.1/test.asp?name=%D5%C5%C8%FD &pwd=ab+cd&sex=male&Submit=%CC%E1%BD%BB解读:解读:%D5%

31、C5 “张张” (一个汉字两个字节)(一个汉字两个字节)%C8%FD “三三”+ 空格(用空格(用“+”代替)代替) 把把6-1.htm中的传送方法中的传送方法GET改为改为POST试试(思考:为什么试试(思考:为什么pwd值不值不会显示)会显示)莆田学院现代教育技术中心2005年4月注意注意:传递信息不仅是传递信息不仅是FORMn利用利用Form在不同页面之间传递用户信息是在不同页面之间传递用户信息是最可靠的最可靠的适用于任何浏览器适用于任何浏览器n亦可通过其他方式,如亦可通过其他方式,如ch6-1.1.htm张三张三李四李四n如果如果ASP文件主要针对文件主要针对Internet,以,以F

32、orm为佳为佳莆田学院现代教育技术中心2005年4月登录程序示例登录程序示例n6-3.htm莆田学院现代教育技术中心2005年4月6.4 ASP基础基础内置对象内置对象莆田学院现代教育技术中心2005年4月ASP的内置对象的内置对象nASP包括7个内置对象,这些内置对象共同组成的ASP的基本框架。内置对象的意义在于:它们在ASP页内生成且有脚本中使用它们前无须创建。编程者只要了解这些内置对象的属性、方法和事件,就可以非常方便地开发自己的Web应用程序。Request获取用户通过浏览器表单向服务器发送的信息Response将执行结果传输给用户浏览器Session用来记录连接者的信息(每个连接者都

33、有一个独立的Session对象)Application 用来记录不同网页的共用信息(所有用户可共用该信息)Server 与用于提供对服务器的访问,如和其他对象配套(如与ADO对象配套)使用,与库文件产生链接。Asperror 用于出错处理Objectcontext用于通过MicrosoftTransactionServer来提交或中止某项交易最后两项是ASP3.0新增的对象莆田学院现代教育技术中心2005年4月在在ASP页面中使用脚本页面中使用脚本nnIIS默认的脚本语言是VBScript,必要时可改为JavaScriptn方法:IIS默认Web站点属性主目录配置应用程序选项(右图)莆田学院现

34、代教育技术中心2005年4月Request对象对象n用于处理用于处理HTTP协议的请求协议的请求n获取用户信息可以有多种常用形式获取用户信息可以有多种常用形式Request(element)Request.Form(element) (index)Request.QueryString(element)Request.QueryString(index)实例分析实例分析EXAMexam6-1.1.htm及对应的及对应的member.aspForm1.htm及对应的及对应的form1.asp莆田学院现代教育技术中心2005年4月Response对象对象n用于负责用于负责HTTP协议的响应,如将协

35、议的响应,如将asp处理后的变处理后的变量值等转换为量值等转换为HTML元素输出到用户浏览器上元素输出到用户浏览器上n常用形式常用形式Response.Write 相当于相当于C语言中的语言中的printResponse.Redirect “URL” 实现页面的跳转实现页面的跳转Response.End 结束结束ASP运行进程并将执行好的运行进程并将执行好的HTML文件送向用户浏览器文件送向用户浏览器实例分析实例分析Register.htm及对应的及对应的Redirect.asp莆田学院现代教育技术中心2005年4月Server对象对象n提供对服务器相关的操作提供对服务器相关的操作n常用形式常

36、用形式Server.CreatObject(ActiveX组件名组件名)创建一个创建一个ActiveX Server组件对象的实例组件对象的实例示例示例: Server.CreatObject(ADODB.Connection)Server.MapPath(文件路径文件路径文件名文件名)将指定的路径及文件映射到服务器网站目录下将指定的路径及文件映射到服务器网站目录下如果网站所在虚拟目录是如果网站所在虚拟目录是c:Inetpubwwwrootu则则Server.MapPath(Data.mdb)表示表示 c:InetpubwwwrootDaba.mdbu而而Server.MapPath(stus

37、tu.mdb)和和Server.MapPath(.teacherteacher.mdb)分别表示分别表示 c:Inetpubwwwroot stustu.mdb c:Inetpubteacherteacher.mdb莆田学院现代教育技术中心2005年4月Session对象对象n在一次用户访问期间在一次用户访问期间(“会话期间会话期间”),当用户在一个应用程序的页与当用户在一个应用程序的页与页之间跳转时页之间跳转时,用户信息用户信息(如用户在登录时输入的密码如用户在登录时输入的密码)无法保留,其无法保留,其结果要么某一页可以绕过密码检查而任意访问,要么每一页都要重新结果要么某一页可以绕过密码检查

38、而任意访问,要么每一页都要重新输入密码。输入密码。n使用使用ASP的的session对象,可以为每个用户保存个人相关信息。例如对象,可以为每个用户保存个人相关信息。例如用用session变量来保存某个用户的帐号和密码,只要用户没有关掉浏变量来保存某个用户的帐号和密码,只要用户没有关掉浏览器,则这些信息会一直得以保存,并可以览器,则这些信息会一直得以保存,并可以session变量的形式被调变量的形式被调用。用。nSession变量的有效执行时间变量的有效执行时间(用户暂停动作时间用户暂停动作时间)默认是默认是20分钟。可分钟。可用以下语句改变其值:用以下语句改变其值: Session.Timeo

39、ut=分钟数分钟数n示例:示例: session(usr)=Request.Form(xh) session(pwd)=Request.Form(pw) 在本页及以后各页就可以通过下页示例进行密码校验,而不必让用户在本页及以后各页就可以通过下页示例进行密码校验,而不必让用户每页都输入密码。每页都输入密码。莆田学院现代教育技术中心2005年4月% If session(pwd) then % 返回上页返回上页 % If Session(pwd)Session(RS).Fields(“password) Then % 返回选课系统首页返回选课系统首页 session(RS).Fields(“pas

40、sword) 是用变量是用变量session(usr)从数据库中取出的从数据库中取出的用户密码字段值用户密码字段值莆田学院现代教育技术中心2005年4月Application对象对象n用于保存不同用户之间共有的信息用于保存不同用户之间共有的信息n实例(见招生查询首页实例(见招生查询首页2004zs.asp)最简单的最简单的“计数器计数器” 当前在线人数:当前在线人数:人人另一实例:另一实例:50 then response.write 当前在线人数当前在线人数+cstr(Application(whoison)+人。人。 response.write 选课人数太多选课人数太多,请退回选课首页请

41、退回选课首页,稍后再试稍后再试% 返回上页返回上页变量变量Application(“whoison)由一个必须存放在网站根目录下的由一个必须存放在网站根目录下的global.asa文件定义文件定义莆田学院现代教育技术中心2005年4月小结:网页数据传送方式比较小结:网页数据传送方式比较n让用户提交的信息通过浏览器跨页传送让用户提交的信息通过浏览器跨页传送表单表单n希望保存某一用户相关的变量希望保存某一用户相关的变量Session 需要在一次访问多页文件中使用时需要在一次访问多页文件中使用时Cookie 需要在客户端长期保存用户信息以便需要在客户端长期保存用户信息以便多次访问使用时多次访问使用时

42、n多个用户共同使用某一共享变量多个用户共同使用某一共享变量Application莆田学院现代教育技术中心2005年4月VBScript常识常识n变量命名类似于变量命名类似于C语言,但首字符必须是字母。语言,但首字符必须是字母。n变量不必先声明再使用变量不必先声明再使用n变量名称和关键字无大小写之分变量名称和关键字无大小写之分n字符串字符串用单引号或双引号括起用单引号或双引号括起n整数整数/小数型小数型n布尔型布尔型 True/Falsen日期型日期型 用用#括起括起 示例:示例:#May 12,2005#n控制结构(选择控制结构(选择循环)循环) 见后见后莆田学院现代教育技术中心2005年4月

43、6.5 ASP基础基础Web库操作库操作莆田学院现代教育技术中心2005年4月ADO (ActiveX Data Objects)nADO则是微软公司提供的一组访问Internet数据库专用技术。它为ASP提供了完整的站点数据库解决方案,它作用在服务器端,可链接数据库、操作数据库、查询数据库,并可将数据库访问结果添加到Web页面上。使用ADO可以轻松地完成对各种数据库(SQLserver,Access,Oracle,Sybase)的查询和存取操作,甚至可从Excel中读取信息。ADO主要包括Connection,Recordset和Command三个对象,它们的主要功能如下:Connectio

44、n对象对象:与DSN结合在ASP与数据库间建立链接关系;Recordset对象:对象:用于数据查询作业(形成记录指针);Command对象:对象:用来对数据库传递SQL指令,并对数据库进行存取操作。 ADO已集成于IIS或PWS中。莆田学院现代教育技术中心2005年4月WEB数据库编程基本模块数据库编程基本模块n建立数据库建立数据库n打开数据库打开数据库 (标准语句)(标准语句)创建数据库对象创建数据库对象 打开数据库打开数据库n数据库操作(标准语句)数据库操作(标准语句) 提取记录提取记录 查询查询/新增新增/删除删除/更新更新n关闭数据库(标准语句)关闭数据库(标准语句)n其他常用技术其他

45、常用技术页面间的参数传递页面间的参数传递 用户间的参数传递用户间的参数传递莆田学院现代教育技术中心2005年4月“芝麻开门芝麻开门” :打开数据库:打开数据库n语句一:建立库对象语句一:建立库对象Set 对象变量名对象变量名=Server.CreatObject(ADODB.Connection) 示例:示例: Set MyCon=Server.CreateObject( ADODB.Connection ) CreatObject是是Server对象中用于建立一个可与数据库交换数据对象的函对象中用于建立一个可与数据库交换数据对象的函数。上句的功能是建立一个可与数据库交换数据的对象。数。上句的

46、功能是建立一个可与数据库交换数据的对象。n语句二:链接数据库语句二:链接数据库对象变量名对象变量名.Open 链接字符串链接字符串,(用户帐号用户帐号),(密码密码) 示例(使用示例(使用ODBC数据源时):数据源时): MyCon.Open DSN=address;UID=;PWD= 打开ODBC中的数据源address源(UID用户帐号;PWD密码)Open是Connection对象的一个方法。若所需数据库有安全性管制,应附加用户帐号和密码两项,否则不加。如:MyCon.Open DSN=address此句的作用类似于FoxBASE语句:use address莆田学院现代教育技术中心200

47、5年4月直接链接时的链接字符串直接链接时的链接字符串n如果不采用如果不采用ODBC数据源,则链接字符串的形式如下:数据源,则链接字符串的形式如下:Provider=Microsoft.Jet.OLEDB 4.0; Data Source=数据库路径名称数据库路径名称若所需数据库有安全性管制若所需数据库有安全性管制,应附加用户帐号和密码两项应附加用户帐号和密码两项,否否则不加。如对则不加。如对Access 数据库数据库stu.mdb: Set MyCon=Server.CreatObject(ADODB.Connection) MyCon.Open Provider=Microsoft.Jet.

48、OLEDB 4.0; Data Source=stu.mdb如果数据源路径是网站所设定的虚拟目录如果数据源路径是网站所设定的虚拟目录(设为设为C:aspptu), 刚可用刚可用 MyCon.Open Provider=Microsoft.Jet.OLEDB 4.0; Data Source=&Server.MapPath(stu.mdb)句中句中Server.MapPath(stu.mdb)代表代表C:aspptustu.mdb莆田学院现代教育技术中心2005年4月经验:经验:NTFS下下ODBC数据源的使用数据源的使用n服务器文件系统为服务器文件系统为NTFS格式时,如果用户通过浏览器对格式

49、时,如果用户通过浏览器对ODBC数据库的记录进行更新、删除等写操作,会因权限数据库的记录进行更新、删除等写操作,会因权限不足而出现出错提示(但查询正常)。解决方案:不足而出现出错提示(但查询正常)。解决方案:设置权限使设置权限使IUSR_.(Internet来宾帐号来宾帐号)对对 c:program filescommon filesODBC 文件夹有写入权文件夹有写入权设置权限使设置权限使IUSR_.(Internet来宾帐号来宾帐号)对对c:winnttemp 文件夹有写入权文件夹有写入权设置权限使设置权限使IUSR_.(Internet来宾帐号来宾帐号)对对ACCESS数据数据库文件所在

50、的文件夹有写入权(读取与写入权限即够了)库文件所在的文件夹有写入权(读取与写入权限即够了)莆田学院现代教育技术中心2005年4月提取数据库中的记录提取数据库中的记录n建立数据库链接后,建立数据库链接后,connection对象变量对象变量就将在就将在ASP程序中代表所要操作的数据库程序中代表所要操作的数据库nRecordSet的概念的概念 RecordSet用于储存用于储存connetcion对象读取对象读取的数据纪录。每个的数据纪录。每个RecordSet对象都相当对象都相当于一个数据表,保存着用该对象的于一个数据表,保存着用该对象的Open指指令读取所需的全部记录,并可通过令读取所需的全部

51、记录,并可通过记录指记录指针针的移动对这些记录进行各种库操作(开的移动对这些记录进行各种库操作(开始时记录指针指在第一条记录处)始时记录指针指在第一条记录处)莆田学院现代教育技术中心2005年4月nSet RS=Server.CreateObject(“ADODB.RecordSet”) 建立一个名为建立一个名为RS的的RecordSet对象对象 此句的作用是产生一个可在数据表中移动指针的此句的作用是产生一个可在数据表中移动指针的ADO对象。对象。nSet RS.ActiveConnection=MyCon 将将RS与与Connection对象对象MyCon联系起来。联系起来。n RS.Ope

52、n select * from student where 学号学号 like &Request.Form(T1)&,1,2 在在MyCon代表的数据库中打开数据表代表的数据库中打开数据表student,按,按where子句的要求提取记录,存放在所建立的子句的要求提取记录,存放在所建立的RecordSet对象对象RS中,以便进行库操作中,以便进行库操作典型语句典型语句莆田学院现代教育技术中心2005年4月小结:你明白了没有?小结:你明白了没有?n打开打开Web数据库的操作不同于一般数据库数据库的操作不同于一般数据库n先建立一个库对象,将它与服务器上的所需操作先建立一个库对象,将它与服务器上的所

53、需操作的某个数据库链接。在程序中将用也只用该库对的某个数据库链接。在程序中将用也只用该库对象名代表所操作的数据库。象名代表所操作的数据库。n然后建立一个记录集对象,用它存入所需操作的然后建立一个记录集对象,用它存入所需操作的全部记录。在程序中将用、也只用该记录集对象全部记录。在程序中将用、也只用该记录集对象代表所操作的数据。代表所操作的数据。n事实上还有其他一些语句可以实现以上功能。下事实上还有其他一些语句可以实现以上功能。下学期诸位将会在专门的课程中学到。学期诸位将会在专门的课程中学到。莆田学院现代教育技术中心2005年4月常用常用SQLSQL查询语句用法查询语句用法nSelect 字段名字

54、段名1,字段名,字段名2, from 表名表名 从表中取所指定字段的数据从表中取所指定字段的数据 * 表示所有字段表示所有字段nSelect 字段名字段名1,字段名,字段名2, from 表名表名 where 查询条件查询条件 从表中取符合查询条件的所指定字段从表中取符合查询条件的所指定字段的数据(见右例)的数据(见右例)nSelect 字段名字段名1,字段名,字段名2, from 表名表名 Order by 字段名字段名1,字段名字段名2, desc 从表中取所指定字段的数据,将数据从表中取所指定字段的数据,将数据依序排列(依序排列(desc表示从大到小排序)表示从大到小排序)【例】【例】n

55、Select 姓名,职称姓名,职称 from 表名表名 where name=“华生华生”nSelect 姓名,职称姓名,职称 from 表名表名 where name=“华华*”nSelect * from 表名表名 where name=“*生生*”注:在ADOSQL中模糊查找格式有所不同(见下)莆田学院现代教育技术中心2005年4月典型典型ADO SQL查询语句分析查询语句分析n精确查找精确查找 Select * * from 数据表名数据表名 where 字段名字段名= 例:例: Select * from person where name=陈秀振陈秀振 Select * * fro

56、m chengji where 考试日期考试日期=#2000/6/8# Select * * from abc where wages = “&Request.Form(“T1”)&” 莆田学院现代教育技术中心2005年4月n模糊查找模糊查找 在在where 子句中用子句中用 like 和通配符和通配符%、_表示表示 %相当于相当于DOS命令中的命令中的* _相当于相当于DOS命令中的命令中的? 例:例: Select * from person where name like 陈秀陈秀% Select * from abc where name like %“&Request.Form(“T

57、1”)&” %莆田学院现代教育技术中心2005年4月记录集操作常用语句记录集操作常用语句n读取某一字段的数据读取某一字段的数据 记录集名记录集名.Fields(“字段名字段名”)n移动记录指针移动记录指针刚建立记录集刚建立记录集(RecordSet)对象时,记录指针位置对象时,记录指针位置在第一条在第一条记录集名记录集名.MoveNext 将记录指针移至下一条记录处将记录指针移至下一条记录处记录集名记录集名.MovePrevious 将记录指针移至上一条记录处将记录指针移至上一条记录处记录集名记录集名.MoveFirst 将记录指针移至第一条记录处将记录指针移至第一条记录处记录集名记录集名.M

58、oveLast 将记录指针移至最后一条记录处将记录指针移至最后一条记录处n临界判断临界判断记录集名记录集名.EOF 为为False表示记录指针仍指向记录集中的某一条记表示记录指针仍指向记录集中的某一条记录,为录,为True,则表示记录指针已移到最后一条记录之下(移到底了),则表示记录指针已移到最后一条记录之下(移到底了)记录集名记录集名.BOF 为为False表示记录指针仍指向记录集中的某一条记表示记录指针仍指向记录集中的某一条记录,为录,为True,则表示记录指针已移到第一条记录之上(移到顶了),则表示记录指针已移到第一条记录之上(移到顶了)n关闭记录集关闭记录集 记录集名记录集名.Clos

59、e (关闭记录集,释放所占内存)(关闭记录集,释放所占内存)Set 记录集名记录集名=Nothing (仅删除记录集中的所有记录,不关闭对象)仅删除记录集中的所有记录,不关闭对象) 莆田学院现代教育技术中心2005年4月其他常用语句其他常用语句n判断语句判断语句(示例)示例)If 记录集名记录集名.EOF Then Set 记录集名记录集名=Nothing Else End Ifn循环语句循环语句uFor 循环变量循环变量=初值初值 to 终值终值 step=步长步长 NextuWhile Wendn记录总数记录总数变量变量=记录集名记录集名.RecordCountuDo While Loop

60、uDo Loop While莆田学院现代教育技术中心2005年4月修改数据库常用修改数据库常用SQL语句语句n删除记录删除记录Delete from 表名表名 Where 条件式条件式n修改记录修改记录Update 表名表名 Set 字段名字段名=字段值字段值,字段名字段名=字字段值段值 Where 条件式条件式n添加记录添加记录Insert Into 表名表名 (字段名列表字段名列表) Values(字段(字段值列表)值列表)莆田学院现代教育技术中心2005年4月修改数据库的基本语句修改数据库的基本语句声明声明connection对象变量对象变量MyConSet MyCon=Server.C

61、reateObject( ADODB.Connection )MyCon.Open DSN=address“SQLstr = “ “ (引号中为修改数据库常用引号中为修改数据库常用SQL语句)语句)Mycon.Execute(SQLstr)如果需要在操作后显示数据如果需要在操作后显示数据,可改用可改用声明声明RecordSet对象变量对象变量RSSet RS=Server.CreateObject(“ADODB.RecordSet”)Set RS= Mycon.Execute(SQLstr)然后通过其他语句显示然后通过其他语句显示RS中相应字段的数据中相应字段的数据莆田学院现代教育技术中心20

62、05年4月实例分析实例分析n教职工工资查询教职工工资查询 gzn招生查询招生查询 2004zsn增加选修课程增加选修课程(新增记录新增记录) insert.asp/AddNew1.ASPn删除课程删除课程(删除记录删除记录) DelCourse.ASPn密码修改密码修改(修改记录修改记录) pwchange.asp和和pwchange1.asp莆田学院现代教育技术中心2005年4月推荐阅读推荐阅读n刘禾刘禾 蔡锋编著精通蔡锋编著精通ASP架站技巧中国架站技巧中国青年出版社青年出版社01年年4月版月版n唐青松唐青松 颜亮编著颜亮编著ASP应用开发全攻略宝应用开发全攻略宝典中国水利水电出版社典中国

63、水利水电出版社00年年1月版月版 莆田学院现代教育技术中心2005年4月第六章第六章 上机作业题上机作业题1.建立个人的建立个人的FTP网站,设置一个有权上传文件的帐号,将网站,设置一个有权上传文件的帐号,将网址、帐号和密码发给老师。网址、帐号和密码发给老师。2.建立一个建立一个ASP网站,任何网上用户都可以模糊查询你们网站,任何网上用户都可以模糊查询你们班同学的有关资料。但只有你建立的特定用户可以修改班同学的有关资料。但只有你建立的特定用户可以修改(增加、删除或更新)这些同学的资料。将网址、用户(增加、删除或更新)这些同学的资料。将网址、用户帐号和密码发给老师,供老师访问检查。帐号和密码发给老师,供老师访问检查。3.将将ASP网站的全部文件放在你建立的网站的全部文件放在你建立的FTP网站上,供老网站上,供老师下载检查。师下载检查。说明说明:老师将把批改意见发到你的老师将把批改意见发到你的FTP上上。莆田学院现代教育技术中心2005年4月

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号