课件51张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均可;
前台:网页浏览器BrowserPHP概述(续1)PHP文件:在普通HTML文件中嵌入脚本语
言,类似C/Java/Perl。
?与ASP一样,脚本在服务器端运行,不受客户端浏览器限制,便于存取数据库。PHP的优点PHP是完全免费的,可以从PHP官方站点(http://www.php.net)自由下载。
PHP的源代码开放;
多平台支持;
不受客户端浏览器限制;
与ASP相比,PHP占用系统资源较少,执行效率较高。
PHP的缺点运行环境的安装、配置比较复杂;
相对ASP,复杂一些;
没有大型专业公司支持。ASP概述ASP:Active Server Pages,动态服务器网
页技术,MicroSoft推出
后台:Windows NT/2000
Windows 98(PWS 4.0,Personal Web
Server)
前台:网页浏览器BrowserASP概述(续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是默认的脚本语言,如需改变,可如下进行:
<%@Language=VBScript%>
<%@Language=JavaScript%>
? 由于ASP是在Server端执行,而VBScript的用户界面方法(如InputBox和MsgBox)是在Client端执行,故在ASP中就不能使用了。3.2 ASP文件举例
一个简单的ASP程序 欢迎您光临我的主页
<%
n=Year(date())
y=Month(date())
r=Day(date())
sj="您来访的时间是:" & n & "年" & y & "月" & r & "日"
Response.Write sj '输出结果
%>
3.2 ASP文件举例3.2 ASP文件举例(续)
一个简单的ASP程序 <%For I=1 To 6 %>
欢迎您来访 <%Next%>
3.2 ASP文件举例(续)3.2 ASP文件举例(续)
一个简单的ASP程序 欢迎您来访 欢迎您来访 欢迎您来访 欢迎您来访 欢迎您来访 欢迎您来访 3.3 ASP的开发工具? Microsoft Visual InterDev,可编写、调试,适合多人合作开发大型程序;
? 记事本或其它文本编辑器,*.asp
? EditPlus、FrontPage3.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 LibraryCommon Language SpecificationCommon Language RuntimeData and XMLVBC++C#Visual Studio.NETASP .NET & Web
ServicesJScript…User
InterfaceMicrosoft .NET FrameworkASP .NET 架构Browser Send Request for mypage.aspx
Web Server 交由 xspisapi.dll 來处理
xspisapi.dll 将 mypage.aspx 转换成 source file
xspisapi.dll compile source file 并将结果存在 codegen 目路下
xspisapi.dll create object from compiled code
ASP .NET 平台网页(Pages)服务(Services)应用程序基础架构(Application Infrastructure)ASP .NET Page 架构<%@ Page Language="C#"%>
<%@ Import Namespace="System" %>
<%@ Import Namespace="System.Data" %>
…
… HTML code
… Server ControlASP .NET Web Pages (1/2)ASP .NET 网页简化开发
事件驱动 (event-driven)
Server UI Controls 提供状态维护、验证输入资料等各項功能
如同以VB开发 Windows Form 一样
自动支援多种浏览器
Rich DHTML, HTML 3.2, WML(WAP), 等小型装置
利用Code-Behind 分离程序代码与网页內容
<%@ Page src=“xx.cs”%>
开发人员与编辑人员可独立工作ASP .NET Web Pages (2/2)支持 编译语言
Visual Basic .NET, C#, Managed C++, COBOL 等任何 .NET程序设计語言.
On-demand compile