动态网站编程技术相关资料全.doc
《动态网站编程技术相关资料全.doc》由会员分享,可在线阅读,更多相关《动态网站编程技术相关资料全.doc(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第5章动态编程技术学习目的与要求:随着Web技术的发展和电子商务时代的到来,人们不再满足于建立各种静态地发布信息的,更多的时候需要能与用户进行交互,并能提供后台数据库的管理和控制等服务的动态。本章详细介绍了当前主流动态编程技术,认真学习本章可以为以后从事动态编程工作打下坚实基础。早期的动态开发技术使用的是CGIBIN接口。开发人员编写与接口相关的单独的程序和基于Web的应用程序,后者通过Web服务器来调用前者。这种开发技术存在着严重的扩展性问题每一个新的CGI程序要求在服务器上新增一个进程。如果多个用户并发地访问该程序,这些进程将耗尽该Web服务器所有的可用资源,直至其崩溃。为克服这一弊端,微
2、软公司提出了Active Server pages技术,该技术利用“插件”和API简化了Web应用程序的开发。ASP与CGI相比,其优点是可以包含HTML标签,可以直接存取数据库与使用无限扩充的ActiveX控件,因此在程序编制上更富有灵活性。但该技术基本上是局限于微软的操作系统平台之上,主要工作环境是微软的IIS应用程序结构,所以ASP技术不能很容易地实现跨平台的Web服务器程序开发。 ASP不是目前最好的动态网页编程语言但绝对是目前应用最广的一门编程语言,在ASP的基础上,微软构架了ASP.NET,可以说ASP.NET延续了ASP的许多特点又在很多方面弥补了ASP的不足, ASP.NET摆
3、脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C+,VB,JS等等,当然,最合适的编程语言还是MS为.Net Framework专门推出的C#,它可以看作是VC和Java的混合体。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.NET上就可以使业务逻辑和HTML页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,可以通过继承已有的对象最大限度保护以前的投资,并且C#和C+、Java一样提供了完善的调
4、试/纠错体系。 PHP是一种跨平台的服务器端的嵌入式脚本语言。它大量地借用C,Java和Perl语言的语法,并耦合PHP自己的特性,使WEB开发者能够快速地写出动态页面,它支持目前绝大多数数据库。还有一点,PHP是完全免费的,可以从PHP官方站点( : /. php. net)自由下载,而且可以不受限制地获得源码,甚至可以从中加进自己需要的特色。 PHP在大多数Unix平台、GUN/Linux和微软Windows平台上均可运行。PHP的优点主要有:安装方便,学习过程简单;数据库连接方便,兼容性强;扩展性强;可以进行面向对象编程等。PHP可以编译成具有与许多数据库相连接的函数,现在与 MySQL
5、 是绝佳的群组合,也可以自己编写外围的函数去间接存取数据库,通过这样的途径更换使用的数据库时,可以轻松地修改编码以适应这样的变化。PHPLIB就是最常用的可以提供一般事务需要的一系列基库。但PHP提供的数据库接口支持彼此不统一,比如对Oracle, MySQL ,Sybase的接口,这也是PHP的一个弱点所在.还有一些技术,如Java Servlets技术,利用该技术可以很容易地用Java语言编写交互式的服务器端代码。一个Java Servlets 就是一个基于Java技术的运行在服务器端的程序(与Applet不同,后者运行在浏览器端)。开发人员编写这样的Java Servlets ,以接收来
6、自Web浏览器的请求,动态地生成响应(可能需要查询数据库来完成这种请求),然后发送包含HTML或XML文档的响应到浏览器。这种技术对于普通的页面设计者来说要轻易地掌握是很困难的。采用这种方法,整个网页必须都在Java Servlets 中制作。如果开发人员或者Web管理人员想要调整页面显示,就不得不编辑并重新编译该Java Servlets 。太阳微系统公司(Sun Microsystems Inc.)在Web服务器、应用服务器、交易系统以与开发工具供应商间广泛支持与合作下,整合并平衡了已经存在的对Java编程环境(例如Java Servlets和JavaBeans)进行支持的技术和工具后产生
7、了一种新的、开发基于Web应用程序的方法JavaServer Pages技术(JSP)。这种动态开发技术主要有以下一些特点:能够在任何Web或应用程序服务器上运行。分离了应用程序的逻辑和页面显示。能够进行快速的开发和测试。简化了开发基于Web的交互式应用程序的过程。目前在国PHP与ASP应用最为广泛。百度、新浪、搜狐、TOM、中国人等各大互联网门户都在广泛应用PHP技术,同时,近两年来多处许多小型的门户站点,也是大部分使用了PHP的技术。但由于PHP本身存在的一些缺点,使得它不适合应用于大型电子商务站点,而更适合一些小型的商业站点。首先,PHP缺乏规模支持。其次,缺乏多层结构支持。对于大负荷站
8、点,解决方法只有一个:分布计算。数据库、应用逻辑层、表示逻辑层彼此分开,而且同层也可以根据流量分开,群组成二维数组。第三,因为PHP提供的数据库接口支持不统一,这就使得它不适合运用在电子商务中。5.2 ASP5.2.1 ASP是什么?ASP是一种未经编译的开放式的应用软件,是微软公司推出的一种用以取代CGI(公共网关接口即(Common Gateway Interface)的技术,它实质是一种服务器端脚本环境。ASP被包含在IIS 3.0与其更高版本之中。通过ASP,用户可以结合HTML网页、ASP指令和ActiveX组件建立动态、交互且高效的web服务器应用程序。ASP的出现使用户不必担心客
9、户端不能正确运行所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序。客户端只要使用可执行HTML代码的浏览器,即可浏览通过ASP设计出来的页面容。当程序执行完毕后,服务器仅将执行的结果返回给客户端浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。n ASP有如下技术特点:使用VBScript、JScript等简单易懂的脚本语言,结合HTML代码,即可快速地完成的应用程序。无须Compile编译,容易编写,可在服务器端直接执行。ASP的编辑环境要求非常简单,任何一种文本编辑器都可以编写ASP应用程序。如Windows的记事本,即可进行编辑设计。与浏
10、览器无关(Browser Independence), 客户端只要使用可执行HTML代码的浏览器,即可浏览Active Server Pages所设计的网页容。Active ServerPages 所使用的脚本语言(VBScript、Jscript)均在WEB服务器端执行,客户端的浏览器不需要能够执行这些脚本语言。Active Server Pages能与任何ActiveX scripting语言兼容。除了可使用VB Script或JScript语言来设计外,还通过plug-in的方式,使用由第三方所提供的其它脚本语言,譬如REXX、Perl、Tcl等,这是传统的CGI等程序远远不与的地方。脚
11、本引擎是处理脚本程序的COM(Component Object Model)对象。可使用服务器端的脚本来产生客户端的脚本。ActiveX Server Components(ActiveX 服务器组件)具有无限可扩充性。可以使用Visual Basic、Java、Visual C、COBOL等程序设计语言来编写你所需要的ActiveX Server Component。ASP可利用ADO(Active Data Object,微软公司的一种新的数据访问模型)方便地访问数据库,从而使得开发基于WWW的应用系统成为可能。 ASP程序其实是以扩展名为.asp 的纯文本形式存在于WEB 服务器上的,A
12、SP 程序中可以包含纯文本、HTML标记以与脚本命令。要学好ASP 程序的设计,必须掌握脚本的编写,那么究竟什么是脚本呢?其实脚本是由一系列的脚本命令所组成的,如同一般的程序,脚本可以将一个值赋给一个变量,可以命令WEB服务器发送一个值到客户浏览器,还可以将一系列命令定义成一个过程。要编写脚本,必须要熟悉至少一门脚本语言,如 VBScript 。脚本语言是一种介乎于HTML和诸如JAVA、Visual Basic、C+ 等编程语言之间的一种特殊的语言,尽管它更接近后者,但它却不具有编程语言复杂、严谨的语法和规则。在同一个.asp文件中可以使用不同的脚本语言,只需在 .asp 中声明使用不同的脚
13、本语言即可。下面是一个典型的在同一 .asp 文件中使用两种脚本语言的例子:脚本语言练习Sub CallmeResponse.Write CallMe“End Subfunction ViewDate()var xx = new Date()Response.Write (x. to String()5.2.2 ASP对象简介 1一般对象的语法、方法与属性u (1)对象的方法(Method)是对象的一个过程(Procedure),它只能被这个对象所声明的实例(Instance)引用,如果是这个对象的子对象也可以继承这个方法。一般使用对象方法的语法形式如下:对象Method(参数列)其中方法所传
14、入的参数列可以是一个变量,由实际情况决定传入的参数的类型。u (2)对象的属性(Property)是指对象的一些特性,因为属性是一个存取属性值的变量,所以方法的属性不需要传入参数列。同对象的方法一样,对象的属性也只能被这个对象所声明的实例(Instance)引用,如果是这个对象的子对象也可以继承这个属性。一般存取对象属性的语法形式如下:对象Property 2ASP的六大对象 ASP强大功能的实现离不开它的6个部对象,这6个象,就可以设计出功能强大的ASP应用程序。 ASP提供建对象,这些对象使用户更容易收集浏览器发信息、响应浏览器以与存储用户信息。下面给出这基本概念: (1)Applicat
15、ion对象可以使用Application对象使给定应用程序的所有用户共享信息。 (2)Request对象可以使用Request对象访问任何用请求传递的信息,包括从HTML表格用POST方法或GET方法传递的参数、cookie和用户认证。Request对象使用户能够访问发送给服务器的二进制数据,如上传的文件等。 (3)Response对象可以使用Response对象控制发送给用户的信息,包括直接发送信息给浏览器、重定向浏览器到另一个URL或设置Cookie的值。 (4)Server对象 Server对象提供对服务器上的方法和属性进行的访问。最常用的方法是创建ActiveX组件的实例(Server
16、 .CreateObject )。其他方法用于将URL或HTML编码成字符串,将虚拟路径映射到物理路径以与设置脚本的超时期限。 (5)Session对象可以利用Session对象存储特定的用户会话所需的信息。当用户在应用程序的页之间跳转时,存储在Session对象中的变量不会清除;而用户在应用程序中访问页时,这些变量始终存在。也可以使用Session方法结束一个会话,并设置空闲会话的超时期限。 (6)ObjectContext对象可以使用 ObjectContext 对象提交或撤消由ASP脚本初始化的事务。 3六大对象的语法、属性与方法 (1)Application对象集合:Contents
17、StaticObjects方法:Lock Unlock事件:Application_OnEnd Application_ OnStart (2)ObjectContext对象方法:SetAbort SetComPlete事件:OnTransactionAbort OnTransactionCommit (3)Request对象集合:ClientCertificate Cookies Form QueryString ServerVariable属性:TotalBytes方法:BinaryRead (4)Response对象集合:Cookies属性:Buffer CacheControl Cha
18、rset Contentype Expires ExpiresAsolute IsClientConnected PICS Status方法:AddHeader AppendTolog Binarywrite Clear End Plush Redirect write(5)Server对象属性:ScriptTimeout方法:CreatObjectHTMLEncodeMappathURLEncode5.2.3 ASP的置组件1ASP置组件概述 ASP的置组件即ActiveX组件。ActiveX组件作为基于Web的应用程序部分在Web服务器上运行。组件提供了应用程序的主要功能(如访问数据库),
19、这样就不必创建或重新创建执行这些任务的代码。 2常用的5个置组件 (1)数据库访问组件(Database Access)可以使用Database Access组件在应用程序中访问数据库,可以显示表的整个容、允许用户构造查询以与在web页执行其他一些数据库查询。 (2)广告轮显组件(AD Rotator)可以使用AD Rotator组件来交替显示图像,并提供从显示的图形到另一个URL的,在文本文件中保存广告列表,AD Rotator组件依照在数据文件中的指令来显示它们。 (3)浏览器兼容组件(Browser Capabilites)通过使用Browser Capabilites曲组件,可以将基于
20、浏览器的功能剪裁发送到该浏览器的容中。 (4)文件存取组件(File Access) File Access组件提供可在计算机文件系统中检索和修改文件的对象。 (5)文件超级组件(Content Linking) Content Linking组件使在应用程序中提供.asp文件的逻辑导航变得简单易行。不用在许多.asp文件中都维护URL引用,而只需在读者熟悉的且易于编辑的文本文件中指定.asp文件的次序组织即可。3其他一些ActiveX组件 ASP中的组件除了上面介绍的5个重要的置组件之外,还有以下这些非常有用的组件,其中一些是第三方组件。在这里先向读者简单介绍一下第三方组件的概念,第三方组件
21、是指第三方公司创建的一些现成的组件例如MyInfo、Status、System和Too1s 组件,PageCounter组件,PermissionCheckr组件,MailSender组件和SA-Fileup组件等。5.2.4编写一个ASPWeb页面在这里将引导读者使用ActiveX组件和HTML亲自较完整的ASP页面,不过在运行.asp文件之前要保ASP文件能够顺利运行。1.什么是ASPWeb应用程序?一个以ASP为基础的应用程序包含了Web服务器的虚拟目录(Virtual Directory)以与虚拟目录下的所有文件夹与执行文件。在这里读者需要清楚虚拟目录的含义,虚拟目录主要是为了保护服务
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 动态 网站 编程 技术 相关 资料
限制150内