网站脚本语言介绍 - 中国科学院网络科普联盟

Download Report

Transcript 网站脚本语言介绍 - 中国科学院网络科普联盟

网站脚本语言介绍
中科院计算机网络信息中心
李树仁2005/08/01
主要内容
Web应用开发技术综述
常用网站动态脚本语言介绍
Active Server Pages(ASP)
1、Web应用开发技术综述
•软件体系结构发展历史
•Client/Server 模式
•Browser/Server模式
•软件的分层结构
•Web技术介绍
软件体系结构发展历史
1. 文件服务器结构
•
客户、数据和程序
2. 客户机/服务器结构(C/S)
•
C/S结构原理
•
C/S特点
3. 浏览器/服务器结构(B/S)
•
B/S结构原理
•
B/S特点
4. 多层体系结构
客户机/服务器结构(C/S)
业务流程处理
网络系统
数据库系
统
业务信息管理
客户机
服务器
•由两部分组成,即客户应用程序和数据库服务器程序;
•服务器被启动,就随时等待响应客户程序发来的请求;
•当需要对数据库中的数据进行任何操作时,客户程序就自动
地寻找服务器程序,并向其发出请求,服务器程序根据预定的
规则作出应答,送回结果。
客户机/服务器结构的特点
1. 程序和数据分离,数据可以为不同程序所用;
2. 性能要比文件服务器结构要强;
3. 维护起来要比文件服务器结构容易;
4. 胖客户机,瘦服务器资源没有合理使用;
5. 客户机程序配置复杂,开发难度大;
6.
难以使应用系统动态适应企业日益增长的业务需求;
7.
C/S开发缺乏标准,通常是杂凑的,系统的可用性和性能受到
怀疑,同时也不便于异构系统的互连和扩充 ;
8.
难以保证应用系统的安全性 。
浏览器/服务器结构(B/S)
请求TCP/IP
WEB服务器/应用服务
器
浏览器
API
DB/LDAP
查询结果
客户层
服务器层
数据层
• 客户层(browser) 用户接口和用户请求的发出地,典型应用是
网络浏览器;
• 服务器层(web server) 典型应用是Web服务器和运行业务代码
的应用程序服务器
• 数据层(data tier) 典型应用是关系型数据库和其他后端
(back-end)数据资源, 如Oracle和LDAP 等。
浏览器/服务器结构的特点
1. 浏览器是客户端最主要的应用软件,这样统一了客户端,简化
了客户端 ;
2. 使用户的操作变得更简单 ;
3. B/S特别适用于网上信息发布,使得传统的MIS的功能有所扩
展;
4. 满足企业不断变化的业务需求;
5. 浏览器/服务器结构是客户机/服务器结构得扩展,是典型的
三层结构;
6. 三层结构只是简单把数据层分开,没有把程序代码按照逻辑
分开,代码重用难度大;
7. 显示逻辑和业务功能逻辑没有逻辑分开,耦合性差;
8. 移植性比较差。
软件分层结构的意义
中间层
(表示层/显示层/业务逻
辑层)
浏览器
数据库
Web 服务器
数据库服务器
Internet
/Intranet
图一
基于中间层的Web多层应用技术结构图
• 把显示逻辑从业务逻辑中分离出来,这就意味着业务代码是独立的,可
以不关心怎样显示和在哪里显示。
• 业务逻辑层处于中间层,不需要关心由哪种类型的客户来显示数据,也
可以与后端系统保持相对独立性,有利于系统扩展。
• 多层结构具有更好的移植性,可以跨不同类型的平台工作,允许用户请
求在多个服务器间进行负载平衡。
• 软件分层要有个尺度,不是层次越多越好,根据具体业务来划分层次。
动态网页生成
WEB数据库技术即是B/S结构,采用三层或者多层体系结
构,前端采用基于瘦客户机的浏览器技术,通过WEB服务器及
中间件访问数据库。如图所示:
动态页面工作原理介绍
1. 当用户请求一个*.asp(*.jsp,*.php,cgi等)页面时,WEB服务器
响应HTTP请求,调用asp(jsp,php,cgi等)引擎,解释(编译)被
申请文件。
2. 若脚本中含有访问数据库的请求,就通过ODBC或者OLE
DB(JDBC)与后台数据库相连,由数据库访问组件执行访库操作。
3. ASP脚本在服务器端解释(JSP在服务器端是编译)执行,根据访
问数据库的结果集自动生成符合HTML语言的主页,去响应用户
的请求。所有相关的发布工作由WWW服务器负责。
目前,常用的WEB数据库开发技术有以下几种:CGI、ASP、PHP、
JSP。
php ,Asp,jsp访问Web数据库的工作原理图
Client
browser
Web
server
(引擎)
ODBC/JDBC
等
Php,asp,jsp访问数据库原理
数据库系统
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的优点
(1) PHP是完全免费的,可以从PHP官方站
点(http://www.php.net)自由下载。
(2) PHP的源代码开放;
(3) 多平台支持;
(4) 不受客户端浏览器限制;
(5) 与ASP相比,PHP占用系统资源较少,
执行效率较高。
PHP的缺点
(1) 运行环境的安装、配置比较复杂;
(2) 相对ASP,复杂一些;
(3) 没有大型专业公司支持。
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的优点
(1) VBScript源自VB,简单易学;
(2) 脚本语言直接嵌入HTML文档,无需编
译、连接就可以解释执行;
(3) 利用ADO组件轻松存取数据库;
(4) 面向对象编程,可扩展ActiveX Server
组件功能;
(5) 不存在浏览器兼容问题;
(6) 可隐藏源程序代码。
ASP的缺点
(1) 运行速度比HTML慢;
(2) 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的优点
(1) 多平台支持;
(2) 编译后运行,执行效率高;
(3) JSP采用Java技术,而Java作为一个成熟
的跨平台的程序设计语言,几乎可以实
现任何想要实现的功能。
JSP的缺点
(1) 开发运行环境比ASP复杂;
(2) 相对ASP的VBScript而言,Java稍难。
Php,asp,jsp三种Web技术比较
php
asp
jsp
运行操作系统平台
所有操作系统
Microsoft windows
所有操作系统
开发语言
Php 脚本语言
VBScript 或者JScript
Java
使用组件
不支持
COM/DCOM
JavaBean,EJB
代码执行情况
解释执行
解释执行
一次编译
代码重用情况
不支持
支持
支持的很好
访问数据库组件
没有
ODBC
JDBC
支持的WEB SERVER
apache
IIS
很多服务器
商家支持情况
没有
Microsoft
Sun
3、ASP 脚本语言讲解








ASP技术的优势
ASP的运行环境
ASP语法简介
ASP脚本举例
ASP的开发工具
ASP的调试技巧
ASP脚本编写注意事项
ASP.NET简介
选择ASP的理由
(1) ASP是微软的产品,与流行的Windows
系统和IE浏览器兼容性好,发展前景好
(2) ASP所用的VBScript简单易学;
(3) 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:\intepub\wwwroot ,用
户最好另建自己的虚拟目录
3. ASP语法简介
ASP文件就是在普通HTML文件中嵌入
VBScript /JavaScript脚本语言。
•过去开发网页也用脚本语言,但以前的脚
本语言是在客户端运行,客户端浏览器
必须支持才行。
•在ASP中,脚本在服务器端运行,当客户
请求一个ASP文件时,服务器就把文件
解释成标准的HTML文件发回客户端。
3.1 ASP文件的基本组成和约定
ASP程序包括3个部分:
(1) 普通的HTML文件;
(2) Server端的Script代码,位于<% … %>
之间的程序代码
(3) 客户端的代码,位于<Script> …
</Script>之间的程序代码。
3.1 ASP文件的基本组成和约定
(注意事项)
• 在ASP中,VBScript是默认的脚本语言,
如需改变,可如下进行:
<%@Language=VBScript%>
<%@Language=JavaScript%>
• 由于ASP是在Server端执行,而VBScript
的用户界面方法(如InputBox和MsgBox)
是在Client端执行,故在ASP中就不能
使用了。
3.2 ASP文件举例
<html>
<head>
<title>一个简单的ASP程序</title>
</head>
<body>
<H2 align="center">欢迎您光临我的主页</H2>
<p align="center">
<%
n=Year(date())
y=Month(date())
r=Day(date())
sj="您来访的时间是:" & n & "年" & y & "月" & r & "日"
Response.Write sj
'输出结果
%>
</body>
</html>
3.2 ASP文件举例
3.2 ASP文件举例(续)
<html>
<head>
<title>一个简单的ASP程序</title>
</head>
<body>
<%For I=1 To 6 %>
<font size="<%=I%>">欢迎您来访
</font><br>
<%Next%>
</body>
</html>
3.2 ASP文件举例(续)
3.2 ASP文件举例(续)
<html>
<head>
<body>
<title>一个简单的ASP程序</title> </head>
<font size="1">欢迎您来访</font><br>
<font size="2">欢迎您来访</font><br>
<font size="3">欢迎您来访</font><br>
<font size="4">欢迎您来访</font><br>
<font size="5">欢迎您来访</font><br>
<font size="6">欢迎您来访</font><br>
</body>
</html>
3.3 ASP的开发工具
• Microsoft Visual InterDev,可编写、
调试,适合多人合作开发大型程序;
• 记事本或其它文本编辑器,*.asp
• EditPlus、FrontPage
3.4 ASP的调试技巧
• 用编辑器编写,用浏览器调试;
• 阅读出错信息,如错误描述、出错代
码行数等,查出原因;
• 将一些语句注释掉,依次逐段调试;
• 在程序中临时添加输出语句,如
Response.Write,将中间结果输出来
查看,以发现错误。
3.5 ASP程序编写注意事项
(1) 在ASP中,字母不区分大小写;
(2) 在ASP中,标点符号均为英文状态
下输入的标点符号;但在字符串中
无所谓。
(3) 普通的HTML元素可以在一行里连
续书写,但在ASP中必须分行书写。
一条ASP语句就是一行,一行也只
能写一条ASP语句。
3.5 ASP程序编写注意事项(续)
如果ASP语句太长,一行写不下,可
用续行符“_”(下划线),也可直接
写,让它自动换行。
(5) 普通HTML的注释语句为: <!--…-->。
(6) ASP的注释语句为:
REM 注释内容
‘
注释内容
(4)
3.5 ASP程序编写注意事项(续)
在ASP中,<%和%>的位置相对随意,既
可以单独占一行,也可以与ASP语句和
在一起占一行。
(8) 书写风格,缩进格式,阶梯式,加注释
(9) 在ASP程序中可以包含HTML语句,充分
利用FrontPage等编写HTML语句,特别
是表格等,在将VBScript脚本插入。
(7)
ASP 的缺憾
程序过于繁琐
每个动作都要写程序才能实现
程序与数据混杂
只支持解释脚本语言Script
新一代的 ASP .NET
建立、部署及执行 Web应用程序的平台
彻底解决今日 ASP 的問題
更简洁、强大的网页模型
支持编译程序设计语言
具有层次性功能的架构
简化部署
Microsoft .NET Framework
VB
C++
C#
JScript
…
Common Language Specification
User
Interface
Data and XML
Base Class Library
Common Language Runtime
Visual Studio.NET
ASP .NET & Web
Services
ASP .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" %>
…
<script language="C#" runat=server>
function xx(){ …}
even_handler(){…}
</script>
… 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 分离程序代码与网页內容
<%@ Page src=“xx.cs”%>
开发人员与编辑人员可独立工作
ASP .NET Web Pages (2/2)
支持 编译语言
Visual Basic .NET, C#,
Managed C++, COBOL 等任何 .NET程序设
计語言.
On-demand compile
ASP应用演示
谢谢各位老师和同仁!!