服务器端开发技术.ppt
《服务器端开发技术.ppt》由会员分享,可在线阅读,更多相关《服务器端开发技术.ppt(101页珍藏版)》请在三一办公上搜索。
1、服务器端开发技术,9.1 B/S 体系结构中数据库接口技术9.2 ASP技术 9.3 数据库访问组件ADO9.4 习题,9.1 B/S 体系结构中数据库接口技术,9.1.1 CGI(Common Gateway Interface)CGI即通用网关接口,是早期建立应用程序与Web服务器之间接口的标准,其工作方式是:用户通过浏览器用HTTP以Form(表单)向Web服务器发出请求;Web服务器接收用户的请求,用一个子进程启动CGI,将用户的请求传给CGI;CGI向数据库服务器发出请求,数据库服务器执行相应的查询操作;数据库服务器将服务请求返回给CGI;CGI将查询结果转换成网页形式返回给Web服
2、务器,Web服务器再通过HTTP将网页传给用户的浏览器显示出来,其工作示意图如图9-1所示:,9.1 B/S 体系结构中数据库接口技术,9.1.1 CGI(Common Gateway Interface),图9-1,9.1 B/S 体系结构中数据库接口技术,9.1.1 CGI(Common Gateway Interface)CGI的功能是在超文本文件与Web服务器应用程序之间传递信息。CGI程序可用Visual Basic、C、C+、和Perl等语言来编写。CGI的跨平台性能极佳,几乎可以不加任何修改即可移植到绝大多数操作系统上。但其缺点是运行速度慢。CGI交互性差,因为HTTP协议无状态
3、限制,CGI不能保持当前状态,所以缺少交互性。最后由于只要来访就可执行CGI,所以安全性差。,9.1 B/S 体系结构中数据库接口技术,9.1.2 服务器API目前最流行的两种API分别是Microsoft的ISAPI(Internet Server Application Program Interface)和Netscape的NSAPI(Netscape Server Application Program Interface)。这两种接口可让程序设计人员以标准方式编写Web服务器交互的应用程序。目前Netscape宣布其NSAPI也支持ISAPI标准,则意味着只有一种Web API标准了
4、。ISAPI由两类组件组成:提供纵向功能层的ISAPI应用程序和提供横向功能层的ISAPI过滤器。,9.1 B/S 体系结构中数据库接口技术,9.1.2 服务器API用ISAPI编制的程序以动态连接库(DLL)的形式存在,可实现CGI所能提供的全部功能,二者的工作原理大体相同,都是通过交互式主页取得用户输入信息,然后交给服务器后台处理。二者的区别在于:在ISAPI下建立的应用程序都是以DLL形式存在,而CGI的应用程序一般为可执行文件。在ISAPI调用方式中,被用户激活的DLL和Web服务处于同一进程中,在处理完某用户的请求后不会马上消失,而是和Web服务器一起继续驻留在内存中,等待其他用户的
5、HTTP请求,直到过了指定的时间仍直无用户输入为止。由于ISAPI的所有进程都可获得HTTP Server上的任何资源,而且当它调用外部CGI Script时需要的开销也较单纯的CGI少,所以ISAPI的运行效率显著高于CGI程序。服务器API的工作示意图如图9-2所示:,9.1 B/S 体系结构中数据库接口技术,9.1.2 服务器API,图9-2,9.1 B/S 体系结构中数据库接口技术,9.1.3 ASP由于服务器API开发的难度大,于是微软推出ASP(Active Service Pages,即动态服务器网页技术),用以取代CGI技术。ASP是开放式Web服务器应用程序开发技术,它既不是
6、一种编程语言,也不是一种开发工具,而是一种服务器端的脚本运行环境。ASP的主要功能是生成动态、交互式的高效Web服务器应用程序。它能够把脚本、HTML、组件和数据库访问功能结合在一起,形成一个在服务器端运行的应用程序,并按用户请求,把结果转换成标准的HTML页面返回客户端。ASP通过ADO访问数据库。ASP使用脚本语言进行ASP程序的开发,自身提供VBScript和JavaScript两种脚本引擎,缺省为VBScript。ASP工作示意图如图9-3所示。,9.1 B/S 体系结构中数据库接口技术,9.1.3 ASP,图9-3,9.2 ASP技术,9.2.1 ASP的运行环境ASP的运行需要服务
7、器来解释。微软推出的服务器是Microsoft Internet Information Server version 3.0/4.0/5.0 on Windows NT/2000 Server(即IIS3.0/4.0/5.0)。Microsoft Personal Web Server on Windows 95/98(即PWS)。,9.2 ASP技术,9.2.2 ASP的工作流程ASP程序是以.asp为扩展名的文本文件,其控制部分是用VBScript或JavaScript等脚本语言来编写的。一个ASP文件相当于一个可执行文件,因此必须放在Web服务器上有可执行权限的目录下。ASP程序只能在
8、Web服务器端执行,当浏览器向Web服务器请求调用ASP文件时,就启动了ASP。Web服务器响应该HTTP请求,调用ASP引擎,解释被申请的文件。当遇到与ActiveX Script兼容的脚本(VBScript,JavaScript)时,ASP引擎调用相应的脚本引擎进行解释处理。若脚本指令中涉及到对数据库的访问,就调用ADO组件与后台数据库进行连接,并将执行结果动态生成一个HTML页面返回Web服务器端,然后与页面中非脚本的HTML合并成一个完整的HTML页面送至客户端浏览器。ASP的工作流程如图9-4所示:,9.2 ASP技术,9.2.2 ASP的工作流程,图9-4,9.2 ASP技术,9.
9、2.3 ASP文件的结构任何可以放在HTML中的东西Java applets、VBScript或者JavaScript等脚本语言、ActiveX控件等都可以放入ASP中;ASP还提供了内置对象,可以使用许多附加的组件,这大大扩展了ASP的功能。VBScript是ASP的默认脚本程序引擎,除了VBScript,ASP也允许网页编写者使用其他熟悉的语言。ASP的脚本语言代码可以放在程序的任何位置,只需用标记将其括起来即可,且不须事先说明。,9.2 ASP技术,9.2.3 ASP文件的结构一般一个ASP文件可以包含以下四个部分:普通HTML文件,普通Web页面的编程。客户端脚本程序代码,通常用和定界
10、符括起来。服务器端ASP脚本程序代码,用“”定界符括起来。Server_SideInclude语句,使用#INCLUDE语句在Web页面中嵌入其他Web页面,其中“”是标准的ASP定界符,而和是客户端脚本或服务器端脚本的定界符。,9.2 ASP技术,9.2.3 ASP文件的结构一【例9-1】ASP程序实例chap9-1.asp:以不同的字体输出“Welcome!”。ASP程序实例,9.2 ASP技术,9.2.3 ASP文件的结构以上程序可以用文本编辑器(Notepad)或专用开发工具(Visual InterDev 6.0)来输入,并将其放在Web服务器的虚拟目录下,然后在浏览器的地址栏中输入
11、http:/localhostchap9-1.asp,运行结果如图9-5所示:,图9-5,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件ASP的内置对象如表9-1所示:,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件ASP的内置组件如表9-2所示:,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件1Request对象-Request对象用于访问用HTTP请求传递的信息,也就是客户在请求页面或提交表单时提供的所有信息。-通常来说,Request对象所得到的信息是从浏览器传递给服务器的,传递的方式有两种:Get和PostRequest对象包括五个数据集合、一个属性
12、和一个方法。Request对象的语法格式为:Request.数据集合|属性|方法(变量)Request拥有以下五个数据集合,分别是:Form:取得客户端表格元素中所填入的信息。QueryString:取回URL请求字符串。Cookies:取得客户端浏览器的Cookies值。ServerVariable:取得服务器端环境变量的值。ClientCertificate:从客户端取得身份验证的信息。,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件(1)Form数据集合-在ASP Web页面上,可以使用Request对象的Form集合收集来自客户端的以表单形式发往服务器的信息。-语法格式为:
13、Request.Form(String参数)(索引.计数)其中,String参数是用来指定集合要检索的表格元素名称(如:Text,Radio等)。索引是一个可选的参数,可以取得Form下名称相同的表格元素,它的值是由0Request.Form(String参数).Count之间的任意整数。Request.Form(String参数).Count属性值代表所有名称相同的表格元素的数目,如果不存在名称相同的表格元素其返回值为1,若该表格元素不存在则返回值为0。需要注意的是Form集合对应的方法为Post,而QueryString集合对应的方法为Get。,9.2 ASP技术,9.2.4 ASP的内置
14、对象和应用组件【例9-2】Form数据集合应用实例,从客户端获取表单信息。客户端脚本程序chap9-2.html代码如下,运行结果如图9-6所示:Form数据集合演示实例客户端程序 系统登录 用户名称 登录密码,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件,图9-6,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件当单击“登录”按钮以后,由chap9-3.asp程序读取表单中的数据。服务器端脚本程序chap9-3.asp代码如下,运行结果如图9-7所示:Form数据集合演示实例服务器端程序 用户名称:用户密码:,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件
15、,图9-7,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件(2)QueryString数据集合QueryString集合的功能就是从查询字符串中读取用户提交的数据。一般来讲,查询字符串变量直接定义在超级链接的URL中,即接在“?”字符之后。例如:http:/ex/query.asp?txtusername=sa语法格式为:Request.QueryString(变量名称)(索引.计数)其中,索引是一个任选的参数,可以取得“?”字符后名称相同的变量名,而且在“?”字符之后还可以用符号“&”来连接两个不同的参数。例如:http:/ex/answer.asp?Y=yes&N=no计数是一
16、个整数,是从0Request.QueryString(变量名称).Count的任意值。Request.QueryString(变量名称).Count表示所有名称相同的变量数,如果不存在名称相同的变量,其值为1,若该变量不存在,其值为0。,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件【例9-3】QueryString数据集合应用实例chap9-4.asp,获取客户端信息。运行此程序时,注意在浏览器的地址栏中输入:http:/localhost/chap9-4.asp?QS=欢迎登录本站点。运行结果如图9-8所示:QueryString数据集合演示实例 Next%,9.2 ASP技术
17、,9.2.4 ASP的内置对象和应用组件,图9-8,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件(3)ServerVariables数据集合ServerVariables数据集合可用于提供有关随HTTP请求一起传递的HTTP头信息。语法格式为:Request.ServerVariables(服务器环境变量)服务器环境变量是只读变量,只能查阅,不能设置。服务器环境变量如教材中表9-3所示:,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件【例9-4】ServerVariables 数据集合应用实例chap9-5.asp,只有从http:/localhost/index.a
18、sp连接过来的才被允许访问。运行结果如图9-9所示(此处省略图显示):Servervariables数据集合演示实例,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件(4)ClientCertificate数据集合ClientCertificate数据集合从浏览器发出的请求中获取认证字段。一般情况下,IIS和PWS都默认为不向客户端要求身份验证的命令。语法格式为:Request.ClientCertificate(KeySubField)Key:指定要获取的验证字段名称。,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件涉及到的关键字如表9-4所示:,9.2 ASP技术,9
19、.2.4 ASP的内置对象和应用组件Subfield:可选参数,用于按Subject或Issuers关键字检索单独的字段。附属参数如表9-5所示:,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件(5)Cookies数据集合Cookies数据集合是用来记录客户端信息的,当访问一个需要惟一标识地址的Web站点时,它会在硬盘上留下一个标记,下一次当访问同一个站点时,站点的页面会查找这个标记。每个Web站点都有自己的标记,标记的内容可以随时读取,但只能由该站点的页面完成。语法格式:Request.Cookies(String)(Key)|.Attribute 其中,参数String指要检索
20、其值的Cookie。Key为可选参数,用于从Cookies字典中检索子关键字的值。Attribute属性指定Cookies自身的有关信息。,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件Attribute参数见表9-6所示:,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件【例9-5】假设建立了一个名为BookCookies的Cookies字典,代码如下:Response.Cookies(“BookCookies”)(“SF”)=“数学分析”Response.Cookies(“BookCookies”)(“XD”)=“线性代数”Response.Cookies(BookC
21、ookies)(GS)=高等数学,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件应用实例chap9-6.asp:使用Cookies数据集合读取BookCookies字典的值,代码如下:&Cookie&=&Request.Cookies(Cookie)Else Response.Write“”&Cookie&“包含以下键值:”For Each Key In Request.Cookies(Cookie)Response.Write&Key&=&Request.Cookies(Cookie)(Key)Next End If Next%,9.2 ASP技术,9.2.4 ASP的内置对象和
22、应用组件(6)Request对象的属性Request对象只有一个属性:TotalBytes属性。该属性是一个只读属性,可取回客户端响应数据的字节数。语法格式为:counter=Request.TotalBytes其中counter变量会取回客户端送回的数据字节大小,本属性一般与BinaryRead方法配合使用。(7)Request对象的方法Request对象只有一个方法:BinaryRead方法,语法格式为:Variant=Request.BinaryRead(counter)其中,counter变量是利用TotalBytes属性取回客户端送回的数据字节大小。注意:该方法与Request.Fo
23、rm方法合用可能会造成执行上的错误。,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件2Response对象 Response对象的功能与Request对象的功能正好相反,用于向客户端浏览器发送信息,从而通过脚本代码中的HTTP变量识别服务器及其容量、发送到客户端的有关信息及该范围内将要保存到客户端浏览器中的一些新的Cookie。该对象与Request对象相互配合,可以实现服务器端和浏览器端的数据传输,这是网页实现动态功能的基础。Response对象的语法格式为:Response.数据集合|属性|方法,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件(1)Response对
24、象的数据集合Cookies是Response对象中唯一的数据集合。使用Cookies可以设置客户端浏览器内的Cookie值。Cookie的语法格式为:Response.Cookies(Var)(Key)|.Attribute=Cookie值这里,Var代表Cookie的名称。如果指定了Key,则该Cookie就是一个字典。Attribute指定Cookie自身的有关信息。可取Domain,Expires,Path,HasKeys值,意义同前。【例9-6】建立名为user的Cookie字典,其中,关键字分别为name、password,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件(
25、2)Response对象的的属性 Buffer属性:Buffer属性用来设置是否把Web页面输出到缓冲区。Buffer属性语法格式为:Response.Buffer=Boolean Value(布尔值)注意:当Buffer属性设置为True时,如果调用了End方法,缓冲区的内容也会发送给客户。当Buffer属性值为False时,Web服务器在处理每一句脚本时都向客户发送信息,而不是一直等到所有的脚本处理完才发送。,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件 Expires属性:控制页面在缓冲区中的有效时间。Expires属性语法格式为:Response.Expires=Intn
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 服务器端 开发 技术
链接地址:https://www.31ppt.com/p-5060495.html