《第5章 动态网站编程技术.ppt》由会员分享,可在线阅读,更多相关《第5章 动态网站编程技术.ppt(124页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、http:/ 动态网站编程技术http:/ ASP 5.2.1 ASP是什么?是什么?5.2.2 ASP对象简介对象简介 5.2.3 ASP的内置组件的内置组件 5.2.4 编写一个编写一个ASPWeb页面页面 5.2.5 ASP使用方法小结使用方法小结5.3 ASP.NET 5.3.1 ASP.NET简介简介 5.3.2 ASP.NET的基本语法的基本语法5.4 JSP 5.4.1 JSP简介简介http:/ 5.4.2 JSP与与CGI、ASP的比较的比较 5.4.3 JSP与与 Servlet 的关系的关系 5.4.4 JSP的运行和开发环境的运行和开发环境 5.4.5 JSP基本语法基
2、本语法 5.4.6 JSP编程实例编程实例5.5 PHP 5.5.1 PHP简介简介 5.5.2 PHP语法语法 5.5.3 PHP流程控制流程控制 5.5.4 PHP编程实例编程实例http:/ 早期的动态网站开发技术使用的是CGIBIN接口。开发人员编写与接口相关的单独的程序和基于Web的应用程序,后者通过Web服务器来调用前者。这种开发技术存在着严重的扩展性问题每一个新的CGI程序要求在服务器上新增一个进程。如果多个用户并发地访问该程序,这些进程将耗尽该Web服务器所有的可用资源,直至其崩溃。为克服这一弊端,微软公司提出了Active Server pages技术,该技术利用“插件”和A
3、PI简化了Web应用程序的开发。ASP与CGI相比,其优点是可以包含HTML标签,可以直接存取数据库及使用无限扩充的ActiveX控件,因此在程序编制上更富有灵活性。但该技术基本上是局限于微软的操作系统平台之上,主要工作环境是微软的IIS应用程序结构,所以ASP技术不能很容易地实现跨平台的Web服务器程序开发。http:/ ASP不是目前最好的动态网页编程语言但绝对是目前应用最广的 一门编程语言,在ASP的基础上,微软构架了ASP.NET,可以说ASP.NET延续了ASP的许多特点又在很多方面弥补了ASP的不足,ASP.NET摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言
4、包括C+,VB,JS等等,当然,最合适的编程语言还是MS为.Net Framework专门推出的C#,它可以看作是VC和Java的混合体。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.NET上就可以使业务逻辑和HTML页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,可以通过继承已有的对象最大限度保护以前的投资,并且C#和C+、Java一样提供了完善的调试/纠错体系。PHP是一种跨平台的服务器端的嵌入式脚本语言。它大量
5、地借用C,Java和Perl语言的语法,并耦合PHP自己的特性,使WEB开发者能够快速地写出动态页面,它支持目前绝大多数数据库。还有一点,PHP是完全免费的,可以从PHP官方站点(http:/)自由下载,而且可以不受限制地获得源码,甚至可以从中加进自己需要的特色。http:/ PHP在大多数Unix平台、GUN/Linux和微软Windows平台上均可运行。PHP的优点主要有:安装方便,学习过程简单;数据库连接方便,兼容性强;扩展性强;可以进行面向对象编程等。PHP可以编译成具有与许多数据库相连接的函数,现在与 MySQL 是绝佳的群组合,也可以自己编写外围的函数去间接存取数据库,通过这样的途
6、径更换使用的数据库时,可以轻松地修改编码以适应这样的变化。PHPLIB就是最常用的可以提供一般事务需要的一系列基库。但PHP提供的数据库接口支持彼此不统一,比如对Oracle,MySQL,Sybase的接口,这也是PHP的一个弱点所在.还有一些技术,如Java Servlets技术,利用该技术可以很容易地用Java语言编写交互式的服务器端代码。一个Java Servlets 就是一个基于Java技术的运行在服务器端的程序(与Applet不同,后者运行在浏览器端)。开发人员编写这样的Java Servlets ,以接收来自Web浏览器的HTTP请求,动态地生成响应(可能需要查询数据库来完成这种请
7、求),然后发送包含HTML或XML文档的响应到浏览器。这种技术对于普通的页面设计者来说要轻易地掌握是很困难的。采用这种方法,整个网页必须都在Java Servlets 中制作。如果开发人员或者Web管理人员想要调整页面显示,就不得不编辑并重新编译该Java Servlets 。http:/ 太阳微系统公司(Sun Microsystems Inc.)在Web服务器、应用服务器、交易系统以及开发工具供应商间广泛支持与合作下,整合并平衡了已经存在的对Java编程环境(例如Java Servlets和JavaBeans)进行支持的技术和工具后产生了一种新的、开发基于Web应用程序的方法JavaSer
8、ver Pages技术(JSP)。这种动态网站开发技术主要有以下一些特点:能够在任何Web或应用程序服务器上运行。分离了应用程序的逻辑和页面显示。能够进行快速的开发和测试。简化了开发基于Web的交互式应用程序的过程。目前在国内PHP与ASP应用最为广泛。百度、新浪、搜狐、TOM、中国人等各大互联网门户网站都在广泛应用PHP技术,同时,近两年来北京多处许多小型的门户站点,也是大部分使用了PHP的技术。但由于PHP本身存在的一些缺点,使得它不适合应用于大型电子商务站点,而更适合一些小型的商业站点。首先,PHP缺乏规模支持。其次,缺乏多层结构支持。对于大负荷站点,解决方法只有一个:分布计算。数据库、
9、应用逻辑层、表示逻辑层彼此分开,而且同层也可以根据流量分开,群组成二维数组。第三,因为PHP提供的数据库接口支持不统一,这就使得它不适合运用在电子商务中。http:/ 5.2 ASP5.2 ASP5.2.1 ASP是什么?是什么?ASP是一种未经编译的开放式的应用软件,是微软公司推出的一种用以取代CGI(公共网关接口即(Common Gateway Interface)的技术,它实质是一种服务器端脚本环境。ASP被包含在IIS 3.0及其更高版本之中。通过ASP,用户可以结合HTML网页、ASP指令和ActiveX组件建立动态、交互且高效的web服务器应用程序。ASP的出现使用户不必担心客户端
10、不能正确运行所编写的代码,因为所有的程序都将在服务器端执行,包括所有内嵌在普通HTML中的脚本程序。客户端只要使用可执行HTML代码的浏览器,即可浏览通过ASP设计出来的页面内容。当程序执行完毕后,服务器仅将执行的结果返回给客户端浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。http:/ Independence),(Browser Independence),客户端只要使用可执行客户端只要使用可执行HTMLHTML代码的浏览器,即可浏览代码的浏览器,即可浏览Active Server PagesActive Server Pages所设计的网页内容。所设计的网页内容。Act
11、ive Active ServerPages ServerPages 所使用的脚本语言所使用的脚本语言(VBScript(VBScript、Jscript)Jscript)均在均在WEBWEB服务器端执行,服务器端执行,客户端的浏览器不需要能够执行这些脚本语言。客户端的浏览器不需要能够执行这些脚本语言。http:/ Active Server Pages能与任何ActiveX scripting语言兼容。除了可使用VB Script或JScript语言来设计外,还通过plug-in的方式,使用由第三方所提供的其它脚本语言,譬如REXX、Perl、Tcl等,这是传统的CGI等程序远远不及的地方。
12、脚本引擎是处理脚本程序的COM(Component Object Model)对象。可使用服务器端的脚本来产生客户端的脚本。ActiveX Server Components(ActiveX 服务器组件)具有无限可扩充性。可以使用Visual Basic、Java、Visual C、COBOL等程序设计语言来编写你所需要的ActiveX Server Component。ASP可利用ADO(Active Data Object,微软公司的一种新的数据访问模型)方便地访问数据库,从而使得开发基于WWW的应用系统成为可能。http:/ ASP程序其实是以扩展名为.asp 的纯文本形式存在于WEB
13、服务器上的,ASP 程序中可以包含纯文本、HTML标记以及脚本命令。要学好ASP 程序的设计,必须掌握脚本的编写,那么究竟什么是脚本呢?其实脚本是由一系列的脚本命令所组成的,如同一般的程序,脚本可以将一个值赋给一个变量,可以命令WEB服务器发送一个值到客户浏览器,还可以将一系列命令定义成一个过程。要编写脚本,必须要熟悉至少一门脚本语言,如 VBScript。脚本语言是一种介乎于HTML和诸如JAVA、Visual Basic、C+等编程语言之间的一种特殊的语言,尽管它更接近后者,但它却不具有编程语言复杂、严谨的语法和规则。在同一个.asp文件中可以使用不同的脚本语言,只需在.asp 中声明使用
14、不同的脚本语言即可。下面是一个典型的在同一.asp 文件中使用两种脚本语言的例子:http:/ CallmeResponse.Write CallMe“End Subhttp:/ ViewDate()var xx=new Date()Response.Write(x.to String()http:/ ASP5.2.2 ASP对象简介对象简介 1一般对象的语法、方法及属性一般对象的语法、方法及属性u (1)对象的方法(Method)是对象内的一个过程(Procedure),它只能被这个对象所声明的实例(Instance)引用,如果是这个对象的子对象也可以继承这个方法。一般使用对象方法的语法形式
15、如下:对象Method(参数列)其中方法所传入的参数列可以是一个变量,由实际情况决定传入的参数的类型。u (2)对象的属性(Property)是指对象的一些特性,因为属性是一个存取属性值的变量,所以方法的属性不需要传入参数列。同对象的方法一样,对象的属性也只能被这个对象所声明的实例(Instance)引用,如果是这个对象的子对象也可以继承这个属性。一般存取对象属性的语法形式如下:对象Propertyhttp:/ 2ASP的六大对象 ASP强大功能的实现离不开它的6个内部对象,这6个象,就可以设计出功能强大的ASP应用程序。ASP提供内建对象,这些对象使用户更容易收集浏览器发 信息、响应浏览器以
16、及存储用户信息。下面给出这基本概念:(1)Application对象 可以使用Application对象使给定应用程序的所有用户共享信息。(2)Request对象 可以使用Request对象访问任何用HTTP请求传递的信息,包括从HTML表格用POST方法或GET方法传递的参数、cookie和用户认证。Request对象使用户能够访问发送给服务器的二进制数据,如上传的文件等。http:/ (3)Response对象 可以使用Response对象控制发送给用户的信息,包括直接发送信息给浏览器、重定向浏览器到另一个URL或设置Cookie的值。(4)Server对象 Server对象提供对服务器上
17、的方法和属性进行的访问。最常用的方法是创建ActiveX组件的实例(Server.CreateObject)。其他方法用于将URL或HTML编码成字符串,将虚拟路径映射到物理路径以及设置脚本的超时期限。(5)Session对象 可以利用Session对象存储特定的用户会话所需的信息。当用户在应用程序的页之间跳转时,存储在Session对象中的变量不会清除;而用户在应用程序中访问页时,这些变量始终存在。也可以使用Session方法结束一个会话,并设置空闲会话的超时期限。(6)ObjectContext对象 可以使用 ObjectContext 对象提交或撤消由ASP脚本初始化的事务。http:/
18、 3六大对象的语法、属性及方法六大对象的语法、属性及方法 (1)Application对象 集合:Contents StaticObjects 方法:Lock Unlock 事件:Application_OnEnd Application_ OnStart (2)ObjectContext对象 方法:SetAbort SetComPlete 事件:OnTransactionAbort OnTransactionCommithttp:/ (3)Request对象 集合:ClientCertificate Cookies Form QueryString ServerVariable 属性:Tot
19、alBytes 方法:BinaryRead (4)Response对象 集合:Cookies 属性:Buffer CacheControl Charset Contentype Expires ExpiresAsolute IsClientConnected PICShttp:/ Status 方法:AddHeader AppendTolog Binarywrite Clear End Plush Redirect write(5)Server对象属性:ScriptTimeout方法:CreatObjectHTMLEncodeMappathURLEncode(6)Session对象集合:Con
20、tentsStaticObjects同性:CodePageLCIDSessionIDTimeout方法:Abandon事件:Session_OnEndSession_OnStarthttp:/ ASP5.2.3 ASP的内置组件的内置组件1ASP内置组件概述内置组件概述 ASP的内置组件即ActiveX组件。ActiveX组件作为基于Web的应用程序部分在Web服务器上运行。组件提供了应用程序的主要功能(如访问数据库),这样就不必创建或重新创建执行这些任务的代码。2常用的常用的5个内置组件个内置组件 (1)数据库访问组件(Database Access)可以使用Database Access组
21、件在应用程序中访问数据库,可以显示表的整个内容、允许用户构造查询以及在web页执行其他一些数据库查询。(2)广告轮显组件(AD Rotator)可以使用AD Rotator组件来交替显示图像,并提供从显示的图形到另一个URL的链接,在文本文件中保存广告列表,AD Rotator组件依照在数据文件中的指令来显示它们。http:/ (3)浏览器兼容组件(Browser Capabilites)通过使用Browser Capabilites曲组件,可以将基于浏览器的功能 剪裁发送到该浏览器的内容中。(4)文件存取组件(File Access)File Access组件提供可在计算机文件系统中检索和修
22、改文件的对 象。(5)文件超级链接组件(Content Linking)Content Linking组件使在应用程序中提供.asp文件的逻辑导航变 得简单易行。不用在许多.asp文件中都维护URL引用,而只需在 读者熟悉的且易于编辑的文本文件中指定.asp文件的次序组织即 可。http:/ ASP中的组件除了上面介绍的5个重要的内置组件之外,还有以 下这些非常有用的组件,其中一些是第三方组件。在这里先向 读者简单介绍一下第三方组件的概念,第三方组件是指第三方公 司创建的一些现成的组件例如MyInfo、Status、System和Too1s 组件,PageCounter组件,Permissio
23、nCheckr组件,MailSender组件和SA-Fileup组件等。http:/ 5.2.4 编写一个编写一个ASPWebASPWeb页面页面 在这里将引导读者使用ActiveX组件和HTML亲自较完整的ASP页面,不过在运行.asp文件之前要保ASP文件能够顺利运行。1.什么是ASPWeb应用程序?一个以ASP为基础的应用程序包含了Web服务器的虚拟目录(Virtual Directory)以及虚拟目录下的所有文件夹与执行文件。在这里读者需要清楚虚拟目录的含义,虚拟目录主要是为了保护服务器端站点的内容和资料,避免受到网络黑客的恶意破坏和攻击而产生的。在提供WWW服务的服务器端,虚拟目录的
24、作用是不让客户端用户知道一些目录与重要文件的真实路径,也就是说每一个绝对路径(即真实路径)都已经隐藏起来。这些可以供网络客户访问的Internet资源都会以服务器的文档根目录(Document Root)作为相对路径的基点(Base)。或者另取一个从表面上看来毫无关系的别名(Alias Name)来隐藏真实目录名称。这些相对目录就称为虚拟目录,相对路径和绝对路径是相对立的。http:/ 现在读者需要理解的是State(状态)概念。当用户在开发一个ASP应用程序时,要能够及时去维护它的State。state的功能是用来存储每一个执行过程的所有信息,再由ASP应用程序维护、接受和传递该信息。这样用
25、户就能够构建功能齐全的Web应用程序,编写一个精美的Web页面。通常在通常在ASP中有以下两种中有以下两种State:SessionState(时域State)只有在某段时间之中执行该应用程序的用户才可以得到该SessionState里的信息。ApplicationState(应用程序State)这个应用程序的所有信息可以被所有执行它的用户引用。http:/ ASP中提供的能够维持State的是Session和Applicati这两个内部对象,即一个ASPSession仅属于一个用户,它用来维护一位正在执行该ASP文件的用户,且不能被其他用户访问;一个Application属于所有客户端用户,
26、是一个公共对象,可以存储所有的信息,可以由所有的正在执行该ASP文件的用户共同使用。另外,每个ASPWeb应用程序都拥有一个Global.asa件,后缀名asa是Active server Application的缩写。http:/ 2.ASP文件的存取方式和结构特点u (1)ASP文件的存取方式文件的存取方式 使用任何一种文本编辑器都可编写ASP应用程序,编写的程序要以.asp为后缀名保存,不可以保存为.html形式。如果是以.html形式保存的话,服务器瑞将不编译文件中所有的包含ASP语法的语句。这样是为了告诉提供ASP服务的服务器,这是一个ASP应用程序,必须在给客户端送出文件之前把它编
27、译一遍。将以.asp后缀名的文件编写存储完毕之后,就可以把它放在自已的Web服务器上执行,这样就能够在浏览器端看到ASP页面的输出效果了。u (2)ASP文件结构特点文件结构特点 到目前为止,读者已经知道ASP能够和HTML、script语言完美结合。在这之前一直都称开发的项目为应用程序,或许有些读者会以为ASP文件是一个已经被编译过的文件,但ASP文件是一个文本文件,可以用任何一种编辑器打开它,并对它进行适当的编辑修改。http:/ 一般情况下一个一般情况下一个ASP包含以下几个部分:包含以下几个部分:普通的HTML文件。客户端的Script程序代码,放置于和标签之内。服务器端的ASPScr
28、ipt程序代码,放置于标签之内。ServerSideInclude语句,也就是使用#Include的语法在本页面中嵌入其他的Web页面。这里需要注意,这里需要注意,ASP只处理服务器端脚本语言,对于只处理服务器端脚本语言,对于ASP文件文件之中的其他内容,支持之中的其他内容,支持ASP的服务器会将其原封不动的发送到客户端,的服务器会将其原封不动的发送到客户端,由客户端的浏览器进行处理。目前在由客户端的浏览器进行处理。目前在ASP中可以使用的脚本语言主要中可以使用的脚本语言主要是是VBScript和和JScript,其中系统默认的脚本语言为,其中系统默认的脚本语言为VBScript。http:/
29、 要使我们编写的ASP文件能够顺利执行,则必须对ASP文件的格式和语法有一定的要求,让系统知道哪些是HTML语言,哪些是Script脚本,哪些又是ASP脚本,也就是说需要区分开各种不同的标记、脚本语言、普通字符等。n (1)区分区分HTML命令标识和普通字符。命令标识和普通字符。在HTML命令标识的两端分别加上“”分隔符,例如:HELLO BEIJING!该例将字符串“HELLO BEIJING!”以粗体格式显示。n (2)区分服务器端的区分服务器端的ASP脚本语句和其他字符。脚本语句和其他字符。通过使用来包含ASP语句部分,在开发时很容易区分一个普通的脚本程序和ASP应用程序。例如用下面命令
30、获得表单中NAME区域的内容,并赋给变量“NAME”(NAME区域部分是用户自己定义的)。使用标准的HTML标识“”编写服务器端的ASP脚本文件时,可以使用它来标识服务器端用户定义的函数、方法或模块等。http:/ 这是一个能对访问者进行编号、记录访问次数、这是一个能对访问者进行编号、记录访问次数、IPIP、时间的统计的、时间的统计的实例,包含两个文件:实例,包含两个文件:dispcont.asp dispcont.asp 用于显示统计结果,用于显示统计结果,contpage.aspcontpage.asp用于统计信息。用于统计信息。dispcont.aspdispcont.asp%Set C
31、onn=Server.CreateObjec(“ADODB.Connection”)contpage.asp=100thencs100+1ifdatevalue(rs(dat)=datethenhttp:/ ASP5.2.5 ASP使用方法小结使用方法小结综合前面所讲的内容,在这里归结总结ASP的三种使用方法:单个的ASP表达式。和脚本语言一起使用。内嵌于HTML几标难语言之中。http:/ 2.和脚本语言一起使用和脚本语言一起使用由于当前IIS支持的脚本语言主要是VBscript和JScript,所以在ASP中运用的也是这两种脚本语言。不过在实际应用中VBscript更为广泛,这是由于VBs
32、cript不必像Jscript那样需要区分字母大小写,而且VBScdpt在属性和方法上的表现形式更为灵活,所以VBscript较为适合作服务器端的脚本语言。另外,在ASP中也可以使用其他的脚本语言,如Perl脚本语言等。3.内嵌于内嵌于HTML语言中使用语言中使用 首先读者看一看下面这段代码,并尝试去理解,然后再看后面的分析。00在这段程序代码中,ASP语句和HTML语句结合使用,一个IF语句被分成几段,分别包含在多个ASP分隔符中。在一个ASP应用程序文件中,允许存在多个“”标识,甚至一个语句也可以分别被包含在多个分隔符之中。因为是标准的HTML语法,所以必须放在ASP分隔符外,这样才能被传
33、送到客户端由浏览器解释执行。http:/ ASP.NET5.3 ASP.NET 前面介绍了ASP编程,从本部分开始我们学习ASP.NET,ASP.NET不是ASP的简单升级,笔者也不同意把ASP.NET称为ASP4.0的说法。ASP.NET是Microsoft公司新近推出的一种Internet编程技术,它可以采用效率较高的、面向对象的方法来创建动态Web应用程序。在ASP技术中,服务器端代码与客户端HTML混合交织在一起,常常导致页面的代码冗长而又复杂,程序的逻辑也难以理解,ASP.NET可以帮助用户解决这些问题,正因为如此ASP.NET一经推出就颇受好评。ASP.NET相对于ASP已经发生了
34、质的改变,最重要的改变来自于编程思维,读者在学习ASP.NET时不能再以传统ASP编程习惯进行思考。http:/ ASP.NET5.3.1 ASP.NET简介简介简介简介ASP.NET是一种建立在通用语言上的程序构架,用于在一台Web服务器上建立强大的Web应用程序。ASP.NET提供许多比现在的web开发模式更为强大的优势。1.ASP.NET的优势的优势ASP.NET相对于其他Web开发模式有很多优势,表现在执行效率的大幅提高、世界级的工具支持、强大性和适应性、简单性和易学性、高效可管理性、多处理器环境的可靠性、自定义性和可扩展性、安全可靠等特性。(1)执行效率大幅提高执行效率大幅提高ASP
35、.NET是把基于通用语言的程序在服务器上运行,不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比一条一条地解释强得多。http:/ ASP.NET5.3.2 ASP.NET的基本语法的基本语法的基本语法的基本语法 任何任何种动态种动态web技术都会使用一种或者几种语言作为其程序语言,技术都会使用一种或者几种语言作为其程序语言,比如比如ASP主要使用的程序语言是主要使用的程序语言是VBScript与与JavaScript。ASP.NET主要支持下列三种程序语言:主要支持下列三种程序语言:C#(发音为Csharp):它是在C、C+发展而来的一种崭新的编程语
36、言。它对C、C+做了重大的改进,成为了C家族中一支新的生力军。VB:在中,微软公司抛弃了结构性较差的VBScript,而直接选择VB为编程语言。这里的VB是指新出炉的VB.Net。JavaScript:写过网页的人应当对它不会陌生。微软公司对在ASP.NET中使用的JavaScript的命名是JavaScript7.0。http:/ 上述三种程序语言仅仅是编写上述三种程序语言仅仅是编写ASP.NET程序常用的语言,凡是能够编译成程序常用的语言,凡是能够编译成MSIL的程序语言都能用来编写的程序语言都能用来编写ASP.NET程序。程序。上述三种编程语言中,上述三种编程语言中,C#是最新的是最新的
37、,它是微软公司全新推出的一种程序语它是微软公司全新推出的一种程序语言,根据微软公司说法,言,根据微软公司说法,C#将成为未来将成为未来.Net平台上开发企业应用程序的首选平台上开发企业应用程序的首选语言。语言。下面我们来介绍下面我们来介绍C#的基本语法:的基本语法:1使用过其他动态Web技术的人都不会对陌生,大部分的动态Web技术都支持它。包含在标签内的程序代码,将会在服务器上执行并且生成动态的web页面。下面的例子演示如何使用,产生动态的HTML代码:Syntax1.aspx演示http:/ 3.定义定义Server控件控件Server控件区别于普通标签的标志是拥有runat=“server
38、”属性,server控件主要分类两类:HTML控件:定义一个名为Message的Spanhtml控件。Web控件:定义一个名为Message的LabelWeb控件。4.Object标签提供了一种以标签形式建立类(C1ass)实例的方法。下面的代码,使用object:标签建立了一个ArrayList类:http:/ Syntax4.aspxVoidPage_Load(objectsender,EventArgse);http:/ 5.在之间定义的代码将会被视为注释语句,不予执行。例如:%-数组列表:-%然后执行,浏览器上将不会任何内容。6.指令指令Page指令是用来设定ASP.NET程序个别属性
39、。Language“LanguageName”设定ASP.NET所用的程序语言,此处不标明,编译器将使用标签指明的程序语言,如果也末指明程序语言,那么将使用VB.Net。Response=“Encoding”设定ASP.NET程序编码规则,默认值为Unicode。Trace=“True|false”设定是否在程序中显示追踪(Trace)信息。http:/ TraceMode=“SortType”设定追踪信息的排序方式,默认值为SortByTime。7.指令指令Import指令只有一个属性值namespace:Namespace(命名空间)被用来声明一个范围,这个范围是惟一的。在这个Namesp
40、ace范围内,允许开发者使用属于这个Namespace范围内的类(Class)。http:/ JSP5.4.1 JSP简介简介简单来说,JSP(JavaServerPage)是一种服务器端脚本语言(serversidescript)。JSP技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。其设计目的是使构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器、应用服务器、浏览器和开发工具共同工作。JSP由Sun公司主导并采纳了计算机软硬件、通信、数据库领域多家厂商的意见而共同制定的一种基于Java的Web动态页面技术。JSP秉承了Java的“编写一次,到处运
41、行”(Writeoncerunanywhere)的精神,既同硬件平台无关,也同操作系统和Web服务器无关,是一种与平台无关的技术。据Sun公司讲,JSP可以应用在超过85以上的Web服务器,包括Apache、IS、NetScape等最常用的Web服务器。JSP包装了JavaServlet系统的界面,简化Java和sevrlet的使用难度,同时通过扩展的JSP标签(Tag)提供了网页动态执行的能力。尽管如此,JSP仍然没有超出Java和Servlet的范围,不仅JSP页面上可以直接书写Java代码,而且JSP是先被编译成Servlet之后才实际运行的。JSP在服务器端,即Web服务器(WebSe
42、rver)上执行,并将执行结果输出到客户端(Client)浏览器,基本上与浏览器无关。JSP与JavaScript不同,JavaScript是客户端的脚本语言,在客户端执行,与服务器无关。JSP到底是一个什么样的语言呢?实际上JSP就是Java、就是Servlet,只是它是一个特别的Java语言,同时又引入了等一系列的特别语法。http:/ JSP与与CGI、ASP的比较的比较1.JSP与与CGI的比较的比较下面从几个方面比较JSP与传统CGI的特性。(1)可移植性可移植性CGI通过访问其他应用程序来获取信息并返回给浏览器,CGI程序通常用C或PERL语言来开发,大多Web服务器支持CGI接口
43、,但CGI程序自身并不能跨平台运行。JSP则通过将JSP页面编译成JavaServlet在服务器端运行来实现动态内容。JavaServlet程序具有Java程序的优点,可运行在任何平台之上,大多数Web及应用服务器都支持Java及ServletAPI。(2)执行性能执行性能传统的CGI环境下,客户端对CGI程序的每一次请求,都便服务器产生一个新的进程来装载、执行CGI程序,由于每个进程都占用了很多的系统资源,大量的并行请求大大降低了其性能。http:/ (1)运行平台运行平台JSP是一种与平台无关的技术。由于JSP的开放性,因此很多厂商开发了多种平台下的JSP开发工具、JSP引擎,使JSP的平
44、台无关性具有了现实的基础。ASP是微软公司从自有技术发展出来的,一般仅能在windows平台上使用,并总是作为微软Internet Infommtion Server的强有力的基本特性出现。尽管ASP借助于一些第三方的产品可以移植到其他平台,但是在现实当中很少被采用。JSP与ASP在开放性上的差异是很重要的一点。在实际应用当中,一家公司或企业究竞是选用JSP还是ASP完全取决于实际情况。如果在 WIndows NT平台上,无疑ASP具有先天的优势,但是在Linux、Uiux、MAC OS平台上,或者在对平台的平滑迁移有特别要求的情况下,JSP比 ASP具有更多的灵活性和更多的优势。http:/
45、 是在服务器端执行的Java程序,Servlet 支持HTTP协议并处理请求(request)和回应(response)。服务器加载Servlet后,对于一个请求会有一个Servlet 线程处理。服务器在处理对JSP页面的第一次请求时,先将其转换成 Servlets,然后编译成Java字节码,最后由Java虚拟机(JVM)解释执行;对于以后的请求,由于Java字节码已存在,就不再进行转换和编译而直接响应请求了。Java字节码与平台无关,无需重新编译,可在不同的平台上由与特定平台相关的Java虚拟机解释执行,这也正是JSP的平台无关特性的基础。ASP的请求处理方式与JSP不同。对于每个请求,AS
46、P解释程序都会产生一个新的线程对ASP页面重新进行解释执行,ASP解释程序是基于特定平台(例如windows NT)的代码,其执行效率通常要高于Java虚拟机对Java字节码的解释效率。虽然JSP节省了重新解释页面的时间,但是Java虚拟机对Java字节码的解释又多花费了时间。因此总体而言,JSP和 ASP的执行效能大体相当,但是在采用好的JSP引擎和JVM的情况下,JSP的性能要高于ASP。http:/ (2)组件模型组件模型 JSP和ASP采用了不同的组件模型标准,JSP采用了JavaBean和Enterprise JavaBean 标准,而ASP应用了COM标准。ASP将Web上的请求转
47、入到一个解释器中,在这个解释器中将所有的ASP的脚本进行分析,再进行执行,而这时可以在这个中间件中去创建一个新的COM对象,对这个对象中的属性和方法进行操作和调用,同时再通过这些COM组件完成更多的工作。COM对象组件是可重用的,可以用任何程序语言开发,甚至包括Visual J+。COM对象组件是被编译执行的,而不是像VBScript、JScrip t一样解释执行,因此COM对象组件可以提高ASP的执行速度。但是COM标淮太复杂了,结果导致其开发较困难。即使是很熟练的C+或VB程序员,也必须要经过一段时间、付出相当的努力后才能做到。此外还要强调的一点就是,COM对象组件必须在服务器端注册后才能
48、使用,COM对象组件改变后必须重新启动服务器。java bean也是可重用的。比较而言,JavaBean 的开发就容易多了,而且不需要注册就可以使用,同时还提供了JavaBean 删改变后自动重载的机制。但是JavaBean 仅能使用Java语言来开发,而且其Java虚拟机的解释执行方式的效率要低于COM对象组件。http:/ 在最新的JSP1.1标准中加入了对标签库(Taglib)的支持,也就是说可以自定义JSP标签(Tag)来锚述和使用可重用组件,大大增强了JSP的可扩展性和易用性。(3)页面对象页面对象在面向对象编程中,对象就是指由作为完整实体的操作和数据组成的变量。在对象中,通过一组方
49、法或相关函数的接口来访问对象的数据,执行某种操作。无论JSP还是ASP都提供了内建对象,这些对象可以收集浏览器请求发送的信息,响应浏览器及存储用户信息等等。ASP提供了6个内建对象,在前面的章节中已介绍过,这里不再赘述。JSP提供了9个内建对象:Request对象。与ASP的Request对象作用相同。Response对象。与ASP的Response对象作用相同。Session对象。与ASP的Session对象作用相同。http:/ 对象内。Config对象。对应于Servletconfig接口,用来取得Servlet的运行环境和初始参数。Page对象。代表当前页面的Servlet对象的一个实
50、例。Exception对象。仅仅在错误处理页面有效,可以用来处理捕捉到的异常。从形式上看,ASP和JSP都是使用“”标签将脚本程序代码包括起来,所不同的是ASP通常使用VBScript或者Javascript语言,JSP使用Java语言作为脚本语言。因此在使用内建对象时也必须遵守备自语言的规定。无论JSP还是ASP,使用各自内建对象能够很容易地编写功能强大的脚本,从而使开发更容易、更快速。http:/ (4)访问数据库访问数据库ASP使用ADO,通过ODBC连接访问数据库,这要求必须在服务器端建立机器数据源,并且数据库带有ODBC驱动程序。ODBC提供了一个标准的数据库访问界面给使用者,目前几