网站脚本语言介绍(中科院).ppt
网站脚本语言介绍,中科院计算机网络信息中心,主要内容,Web应用开发技术综述 常用网站动态脚本语言介绍Active Server Pages(ASP),1、Web应用开发技术综述,软件体系结构发展历史Client/Server 模式Browser/Server模式软件的分层结构Web技术介绍,软件体系结构发展历史,文件服务器结构客户、数据和程序 客户机/服务器结构(C/S)C/S结构原理C/S特点 浏览器/服务器结构(B/S)B/S结构原理B/S特点多层体系结构,客户机/服务器结构(C/S),由两部分组成,即客户应用程序和数据库服务器程序;服务器被启动,就随时等待响应客户程序发来的请求;当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果。,客户机/服务器结构的特点,程序和数据分离,数据可以为不同程序所用;性能要比文件服务器结构要强;维护起来要比文件服务器结构容易;胖客户机,瘦服务器资源没有合理使用;客户机程序配置复杂,开发难度大;难以使应用系统动态适应企业日益增长的业务需求;C/S开发缺乏标准,通常是杂凑的,系统的可用性和性能受到怀疑,同时也不便于异构系统的互连和扩充;难以保证应用系统的安全性。,浏览器/服务器结构(B/S),客户层(browser)用户接口和用户请求的发出地,典型应用是网络浏览器;服务器层(web server)典型应用是Web服务器和运行业务代码的应用程序服务器 数据层(data tier)典型应用是关系型数据库和其他后端(back-end)数据资源,如Oracle和LDAP 等。,浏览器/服务器结构的特点,浏览器是客户端最主要的应用软件,这样统一了客户端,简化了客户端;使用户的操作变得更简单;B/S特别适用于网上信息发布,使得传统的MIS的功能有所扩展;满足企业不断变化的业务需求;浏览器/服务器结构是客户机/服务器结构得扩展,是典型的三层结构;三层结构只是简单把数据层分开,没有把程序代码按照逻辑分开,代码重用难度大;显示逻辑和业务功能逻辑没有逻辑分开,耦合性差;移植性比较差。,软件分层结构的意义,把显示逻辑从业务逻辑中分离出来,这就意味着业务代码是独立的,可以不关心怎样显示和在哪里显示。业务逻辑层处于中间层,不需要关心由哪种类型的客户来显示数据,也可以与后端系统保持相对独立性,有利于系统扩展。多层结构具有更好的移植性,可以跨不同类型的平台工作,允许用户请求在多个服务器间进行负载平衡。软件分层要有个尺度,不是层次越多越好,根据具体业务来划分层次。,动态网页生成,WEB数据库技术即是B/S结构,采用三层或者多层体系结构,前端采用基于瘦客户机的浏览器技术,通过WEB服务器及中间件访问数据库。如图所示:,动态页面工作原理介绍,当用户请求一个*.asp(*.jsp,*.php,cgi等)页面时,WEB服务器响应HTTP请求,调用asp(jsp,php,cgi等)引擎,解释(编译)被申请文件。若脚本中含有访问数据库的请求,就通过ODBC或者OLE DB(JDBC)与后台数据库相连,由数据库访问组件执行访库操作。ASP脚本在服务器端解释(JSP在服务器端是编译)执行,根据访问数据库的结果集自动生成符合HTML语言的主页,去响应用户的请求。所有相关的发布工作由WWW服务器负责。目前,常用的WEB数据库开发技术有以下几种:CGI、ASP、PHP、JSP。,php,Asp,jsp访问Web数据库的工作原理图,2、网站脚本语言介绍,CGI(Common Gateway Interface)PHP(Personal Home Page)ASP(Active Server Pages)JSP(Java Server Pages),通用网关技术(CGI)概述,概念:CGI是Web服务器运行时外部程序的规范,按照CGI编写的程序可以扩展服务器的功能,完成服务器本身不能完成的工作,外部程序执行时可以生成HTML文档,并将文档返回Web服务器。一个CGI程序可以从数据库服务器中获取数据,然后格式化为HTML文档后发送给浏览器,也可以将从浏览器获得的数据放到数据库中。编写CGI的语言可以是任何一种Web服务器内置语言,诸如:Perl、C、C+、VB和Delphi等,PHP概述,PHP:超文本预处理器(PHP:Personal Hypertext Preprocessor)。1994:Rasmus Lerdorf首先提出 1997:Zeev Suraski、Andi Gutamns 加以完善,PHP 3后台:Unix/Linux/Windows均可;前台:网页浏览器Browser,PHP概述(续1),PHP文件:在普通HTML文件中嵌入脚本语 言,类似C/Java/Perl。与ASP一样,脚本在服务器端运行,不受客户端浏览器限制,便于存取数据库。,PHP的优点,PHP是完全免费的,可以从PHP官方站点(http:/)自由下载。PHP的源代码开放;多平台支持;不受客户端浏览器限制;与ASP相比,PHP占用系统资源较少,执行效率较高。,PHP的缺点,运行环境的安装、配置比较复杂;相对ASP,复杂一些;没有大型专业公司支持。,ASP概述,ASP:Active Server Pages,动态服务器网 页技术,MicroSoft推出后台:Windows NT/2000 Windows 98(PWS 4.0,Personal Web Server)前台:网页浏览器Browser,ASP概述(续1),ASP文件:在普通HTML文件中嵌入 VBScript/JavaScript脚本语言。在ASP中,脚本在服务器端运行,当客户请求一个ASP文件时,服务器就把文件解释成标准的HTML文件发回客户端。在服务器端运行的好处:不受客户端浏览器限制,便于和服务器交换数据,如存取数据库。,ASP的优点,VBScript源自VB,简单易学;脚本语言直接嵌入HTML文档,无需编译、连接就可以解释执行;利用ADO组件轻松存取数据库;面向对象编程,可扩展ActiveX Server组件功能;不存在浏览器兼容问题;可隐藏源程序代码。,ASP的缺点,运行速度比HTML慢;ASP一般限于Windows NT/2000平台。,JSP概述,JSP:Java Server Pages,Sun公司推出。后台:Unix/Linux/Windows NT/2000均可;前台:网页浏览器Browser,JSP概述(续1),JSP文件:在普通HTML文件中嵌入 Java程序片段(Scriptlet)。在JSP中,脚本在服务器端运行,当客户第一次请求一个JSP文件时,该文件将被编译成Servlet,并由Java虚拟机执行,以后的请求就不用再编译了。注意:ASP每次请求均需翻译。,JSP的优点,多平台支持;编译后运行,执行效率高;JSP采用Java技术,而Java作为一个成熟的跨平台的程序设计语言,几乎可以实现任何想要实现的功能。,JSP的缺点,开发运行环境比ASP复杂;相对ASP的VBScript而言,Java稍难。,Php,asp,jsp三种Web技术比较,3、ASP 脚本语言讲解,ASP技术的优势ASP的运行环境ASP语法简介ASP脚本举例ASP的开发工具ASP的调试技巧ASP脚本编写注意事项ASP.NET简介,选择ASP的理由,ASP是微软的产品,与流行的Windows系统和IE浏览器兼容性好,发展前景好ASP所用的VBScript简单易学;ASP的网上资源多,便于初学者。,2.ASP运行环境,Windows NT 4.0:在Server上安装IIS4.0(Internet Information Server 4.0);Windows 2000 Server:本身已经支持;Windows 98:安装个人服务器软件PWS 4.0(Personal Web Server 4.0)。虚拟目录:缺省C:intepubwwwroot,用户最好另建自己的虚拟目录,3.ASP语法简介,ASP文件就是在普通HTML文件中嵌入 VBScript/JavaScript脚本语言。过去开发网页也用脚本语言,但以前的脚本语言是在客户端运行,客户端浏览器必须支持才行。在ASP中,脚本在服务器端运行,当客户请求一个ASP文件时,服务器就把文件解释成标准的HTML文件发回客户端。,3.1 ASP文件的基本组成和约定,ASP程序包括3个部分:普通的HTML文件;Server端的Script代码,位于之间的程序代码客户端的代码,位于 之间的程序代码。,3.1 ASP文件的基本组成和约定(注意事项),在ASP中,VBScript是默认的脚本语言,如需改变,可如下进行:由于ASP是在Server端执行,而VBScript的用户界面方法(如InputBox和MsgBox)是在Client端执行,故在ASP中就不能使用了。,3.2 ASP文件举例,一个简单的ASP程序欢迎您光临我的主页,3.2 ASP文件举例,3.2 ASP文件举例(续),一个简单的ASP程序欢迎您来访,3.2 ASP文件举例(续),3.2 ASP文件举例(续),一个简单的ASP程序 欢迎您来访欢迎您来访欢迎您来访欢迎您来访欢迎您来访欢迎您来访,3.3 ASP的开发工具,Microsoft Visual InterDev,可编写、调试,适合多人合作开发大型程序;记事本或其它文本编辑器,*.asp EditPlus、FrontPage,3.4 ASP的调试技巧,用编辑器编写,用浏览器调试;阅读出错信息,如错误描述、出错代码行数等,查出原因;将一些语句注释掉,依次逐段调试;在程序中临时添加输出语句,如Response.Write,将中间结果输出来查看,以发现错误。,3.5 ASP程序编写注意事项,在ASP中,字母不区分大小写;在ASP中,标点符号均为英文状态下输入的标点符号;但在字符串中无所谓。普通的HTML元素可以在一行里连续书写,但在ASP中必须分行书写。一条ASP语句就是一行,一行也只能写一条ASP语句。,3.5 ASP程序编写注意事项(续),(4)如果ASP语句太长,一行写不下,可用续行符“_”(下划线),也可直接写,让它自动换行。(5)普通HTML的注释语句为:。(6)ASP的注释语句为:REM 注释内容 注释内容,3.5 ASP程序编写注意事项(续),(7)在ASP中,的位置相对随意,既可以单独占一行,也可以与ASP语句和在一起占一行。(8)书写风格,缩进格式,阶梯式,加注释(9)在ASP程序中可以包含HTML语句,充分利用FrontPage等编写HTML语句,特别是表格等,在将VBScript脚本插入。,ASP 的缺憾,程序过于繁琐每个动作都要写程序才能实现程序与数据混杂只支持解释脚本语言Script,新一代的 ASP.NET,建立、部署及执行 Web应用程序的平台彻底解决今日 ASP 的問題更简洁、强大的网页模型支持编译程序设计语言具有层次性功能的架构简化部署,Base Class Library,Common Language Specification,Common Language Runtime,Data and XML,VB,C+,C#,Visual Studio.NET,ASP.NET&WebServices,JScript,UserInterface,Microsoft.NET Framework,ASP.NET 架构,Browser Send Request for mypage.aspxWeb Server 交由 xspisapi.dll 來处理xspisapi.dll 将 mypage.aspx 转换成 source filexspisapi.dll compile source file 并将结果存在 codegen 目路下xspisapi.dll create object from compiled code,ASP.NET 平台,网页(Pages),服务(Services),应用程序基础架构(Application Infrastructure),ASP.NET Page 架构,function xx()even_handler()HTML code Server Control,ASP.NET Web Pages(1/2),ASP.NET 网页简化开发事件驱动(event-driven)Server UI Controls 提供状态维护、验证输入资料等各項功能如同以VB开发 Windows Form 一样自动支援多种浏览器Rich DHTML,HTML 3.2,WML(WAP),等小型装置利用Code-Behind 分离程序代码与网页內容开发人员与编辑人员可独立工作,ASP.NET Web Pages(2/2),支持 编译语言Visual Basic.NET,C#,Managed C+,COBOL 等任何.NET程序设计語言.On-demand compile,ASP应用演示,谢谢各位老师和同仁!,