1 / 60

ASP

ASP. 2003-4-16. 丁瑞彭 dingrp@infosec.pku.edu.cn. What ’ s ASP?. Active Server Pages ( 即, 活动服务器页面 ) 不是一门语言,而是一个编程环境 在其中,可以混合使用 HTML、 脚本语言以及组件来创建服务器端功能强大的 Internet 应用程序。 Asp 文件以. asp 作为后缀 Asp 文件: Html + Scripts ( 客户端、服务器端). < html> <head><title>ASP Script 示例 </ title></head> <body>

fai
Download Presentation

ASP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ASP 2003-4-16 丁瑞彭 dingrp@infosec.pku.edu.cn

  2. What’s ASP? • Active Server Pages (即,活动服务器页面) • 不是一门语言,而是一个编程环境 • 在其中,可以混合使用HTML、脚本语言以及组件来创建服务器端功能强大的Internet应用程序。 • Asp文件以.asp作为后缀 • Asp文件:Html + Scripts (客户端、服务器端)

  3. <html> <head><title>ASP Script 示例</title></head> <body> 这是个 <% for I=1 to 10 %> 非常, <% next %> 非常长的句子。 </body> </html> 这是个非常,非常,非常,非常,非常,非常,非常,非常,非常,非常,非常长的句子。

  4. What’s ASP? • 1、Active:ASP使用了Microsoft的ActiveX技术。ActiveX(COM)技术是现在Microsoft软件的重要基础。它采用封装对象,程序调用对象的技术,简化编程,加强程序间合作。ASP本身封装了一些基本组件和常用组件,有很多公司也开发了很多实用组件。只要你可以在服务器上安装这些组件,通过访问组件,你就可以快速、简易地建立自己的WEB应用

  5. What’s ASP? • 2、Server:ASP运行在服务器端。这样就不必担心浏览器是否支持ASP所使用的编程语言。ASP的编程语言可以是VBSCRIPT和JSCRIPT。VBSCRIPT是VB的一个简集,会VB的人可以很方便的快速上手。然而Netscape浏览器不支持客户端的VBSCRIPT,所以最好不要在客户端使用VBSCRIPT。而在服务器端,则无需考虑浏览器的支持问题。Netscape浏览器也可以正常显示ASP页面

  6. What’s ASP? • 3、Pages:ASP返回标准的HTML页面,可以正常地在常用的浏览器中显示。浏览者查看页面源文件时,看到的是ASP生成的HTML代码,而不是ASP程序代码。这样就可以防止别人抄袭程序

  7. What can ASP do? • ASP可以轻松地实现对页面内容的动态控制,根据不同的浏览者,显示不同的页面内容。 • 从HTML的form中接受信息并且存到数据库中 • 在你的主页中添加点击计数器 • 根据用户浏览器的版本,类型和能力显示不同档次的内容。 • 跟踪用户网站上的活动信息并且存入日志文件 • 留言簿、公告板、聊天室……

  8. Active Server Pages的工作方法 • 下面比较获取Active Server Pages的过程和访问普通HTML页面的过程

  9. Page1.htm Page2.htm Page1.htm 2.HTTP请求 4.HTTP回应 服务器端 客户端 访问普通HTML页面的过程 3 1 IIS 5

  10. 访问普通HTML页面的过程 1. 用户将HTML文件的Internet地址,输入到浏览器地址栏,按回车键请求一个网页(如:http://www.somesite.com/hello.htm)。 2. 浏览器发送网页请求到网络服务器,如IIS(Internet Information Server)。 3. 网络服务器收到请求,通过扩展名.htm或.html判断出是HTML文件的请求。 4. 网络服务器将适当的HTML文件从磁盘或存储器中获取并送回浏览器。 5. HTML文件由用户的浏览器解释,结果在浏览器窗口中显示。

  11. 访问Active Server Page的过程 Active Server Pages.dll IIS HTTP请求 HTTP回应 服务器端

  12. 访问Active Server Page的过程 • 用户将一个Active Server Page文件的Internet网址输入到网络浏览器地址栏,按回车请求一个Active Server Page网页(如http://www.somesite.com/hello.asp)。 • 浏览器向IIS发送Active Server Page请求。 • 服务器收到请求并根据扩展名.asp识别出Active Server Page文件。 • 服务器从硬盘或内存中获取适当的Active Server Page文件。

  13. 访问Active Server Page的过程 5. 服务器向特定的名为Active Server Pages.dll程序发送文件。 6. 从上向下处理Active Server Page文件,执行遇到的命令。处理结果是标准的HTML文件。 7. HTML文件被送回浏览器。 8. 用用户的Web浏览器解释HTML文件,结果在浏览器窗口显示。

  14. 比较 • 从Web服务器来看,一个Active Server Page与普通HTML页面是不同的。普通HTML文件不经处理就发送至浏览器。另一方面,Active Server Page中的所有命令都要先执行再创建HTML页面。这允许Active Server Page包含动态内容。 • 另一方面,从浏览器来看,Active Server Page几乎同HTML页完全一样。唯一的不同是Active Server Page必须以扩展名.asp而不是.htm或.html结束。发出Active Server Page请求后,浏览器收到一个普通的HTML页。这使Active ServerPage可与所有的浏览器兼容。

  15. 如何写ASP程序? • Asp文件:Html + Scripts (客户端、服务器端) • Html内容已经介绍过了 • 客户端脚本:javascript也介绍过了 • 服务器端脚本:可以选用VBScript,也可以选用Jscript • 我们选VBScript

  16. 把VBScript的脚本集成到Active Sever Pages中 • 最容易的方法是使用两个特殊字符<%和%> (使用的是默认的脚本语言,或者用下面的方法指定的语言) • 还可为某特定页面规定主要脚本语言。这需要将LANGUAGE指令放在Active ServerPage文件的首行,如下面的例子:<%@LANGUAGE=Jscript %> 这个指令表明文件中的所有脚本都应作为JScript,而不是其他脚本语言创建的脚本来执行。

  17. 把VBScript的脚本集成到Active Sever Pages中 • 还可用Microsoft扩展的<SCRIPT>HTML标签将脚本包含在Active Server Pages中 • 例如: <SCRIPT LANGUAGE="JScript" RUNAT="server"> function sayhello() {response.write("Hello!")} </SCRIPT> <%sayhello() %> 规定了使用的脚本语言 表明脚本应在服务器而不是客户机(浏览器)上执行

  18. 符号对<%和%>与符号对<%=和%> • 例子:下面的ASP网页在网页顶部打印当前的日期和时间: <HTML> <HEAD> <TITLE> Simple VBScript</TITLE> </HEAD> <BODY> This page was created on :<%=NOW%> <BR>Have a nice day! </BODY> </HTML>

  19. 符号对<%和%>用来指明一个脚本 • 而符号对<%=和%>用来指明变量或函数的值。跟在表达式<%=后面的任何内容都将被打印在浏览器窗口中。 • 不要把没有返回值的VBScript命令放在符号对<%=和%>之间 例如:<%=FOR I=1 TO 100%> No!

  20. VBScript介绍

  21. VBScript • VBScript 数据类型 • VBScript 变量 • VBScript 常数 • VBScript 运算符 • 使用条件语句 • 使用循环语句 • VBScript 过程 • 对代码进行注释

  22. VBScript 数据类型 • VBScript 只有一种数据类型,称为 Variant。Variant是一种特殊的数据类型,根据使用的方式,它可以包含不同类别的信息。因为 Variant是 VBScript 中唯一的数据类型,所以它也是 VBScript 中所有函数的返回值的数据类型。 • 除简单数字或字符串以外,Variant可以进一步区分数值信息的特定含义。 Variant包含的数值信息类型称为子类型

  23. 转换函数 • Asc 函数CBool 函数CByte 函数CCur 函数CDate 函数CDbl 函数Chr 函数CInt 函数CLng 函数CSng 函数CStr 函数Hex 函数Oct 函数

  24. VBScript 变量 • 什么是变量? 变量是一种使用方便的占位符,用于引用计算机内存地址,该地址可以存储 Script 运行时可更改的程序信息。例如,可以创建一个名为 ClickCount 的变量来存储用户单击 Web 页面上某个对象的次数。使用变量并不需要了解变量在计算机内存中的地址,只要通过变量名引用变量就可以查看或更改变量的值。

  25. 声明变量 • 声明变量的一种方式是使用Dim语句在 Script 中显式声明变量。例如: Dim sars 声明多个变量时,使用逗号分隔变量。例如: Dim Top, Bottom, Left, Right • 另一种方式是通过直接在 Script 中使用变量名这一简单方式隐式声明变量。这通常不是一个好习惯,因为这样有时会由于变量名被拼错而导致在运行 Script 时出现意外的结果。因此,最好使用 Option Explicit语句显式声明所有变量,并将其作为 Script 的第一条语句。

  26. 命名规则 • 变量命名必须遵循 VBScript 的标准命名规则。变量命名必须遵循: 第一个字符必须是字母。 不能包含嵌入的句点。 长度不能超过 255 个字符。 在被声明的作用域内必须唯一。

  27. 变量的作用域与存活期 • 变量的作用域由声明它的位置决定。 • 如果在过程中声明变量,则只有该过程中的代码可以访问或更改变量值,此时变量具有局部作用域并被称为过程级变量。 • 如果在过程之外声明变量,则该变量可以被 Script 中所有过程所识别,称为 Script 级变量,具有 Script 级作用域。

  28. 变量存在的时间称为存活期。Script 级变量的存活期从被声明的一刻起,直到 Script 运行结束。对于过程级变量,其存活期仅是该过程运行的时间,该过程结束后,变量随之消失。在执行过程时,局部变量是理想的临时存储空间。可以在不同过程中使用同名的局部变量,这是因为每个局部变量只被声明它的过程识别。

  29. 给变量赋值 • 创建如下形式的表达式给变量赋值:变量在表达式左边,要赋的值在表达式右边。例如: B = 200

  30. 标量变量和数组变量 • 多数情况下,只需为声明的变量赋一个值。 • 只包含一个值的变量被称为标量变量。 • 有时候,将多个相关值赋给一个变量更为方便,因此可以创建包含一系列值的变量,称为数组变量。 例如:Dim A(10) 这个DIM语句声明了一个可以存储11个值的数组。

  31. 在数组中使用索引为数组的每个元素赋值。如下所示: A(0) = 256 A(1) = 324 . . . A(10) = 55 与此类似,使用索引可以检索到所需的数组元素的数据。例如: SomeVariable = A(8) . . .

  32. 数组并不仅限于一维。数组的维数最大可以为 60(尽管大多数人不能理解超过 3 或 4 的维数)。 Dim MyTable(5, 10)

  33. VBScript 常数 • 什么是常数? 常数是具有一定含义的名称,用于代替数字或字符串,其值从不改变。 创建常数 可以使用 Const语句在 VBScript 中创建用户自定义常数。使用 Const语句可以创建名称具有一定含义的字符串型或数值型常数,并给它们赋原义值。例如: Const MyString = “这是一个字符串。” Const MyAge = 49

  34. VBScript 运算符 • 算术运算符 • 比较运算符 • 连接运算符 • 逻辑运算符

  35. 算术运算符和逻辑运算符的优先级

  36. 优先级 • 当表达式包含多种运算符时,首先计算算术运算符,然后计算比较运算符,最后计算逻辑运算符。所有比较运算符的优先级相同,即按照从左到右的顺序计算比较运算符。

  37. 使用条件语句 • 控制程序执行 使用条件语句和循环语句可以控制 Script 的流程。使用条件语句可以编写进行判断和重复操作的 VBScript 代码。在 VBScript 中可使用以下条件语句: If...Then...Else语句 Select Case语句

  38. 使用 If...Then...Else 进行判断 • If...Then…[Else…]语句用于计算条件是否为 True或 False,并且根据计算结果指定要运行的语句。通常,条件是使用比较运算符对值或变量进行比较的表达式。 • myDate = #2/13/95# If myDate < Now Then myDate = Now

  39. If中要运行多行代码,必须使用多行(或块)语法。多行(或块)语法包含 End If语句,如下所示: • If value = 0 Then AlertLabel.ForeColor=vbRed AlertLabel.Font.Bold=True AlertLabel.Font.Italic=True End If

  40. If value = 0 Then MsgBox value ElseIf value = 1 Then MsgBox value ElseIf value = 2 then Msgbox value Else Msgbox “数值超出范围!” End If 可以添加任意多个 ElseIf子句以提供多种选择。使用多个 ElseIf子句经常会变得很累赘。在多个条件中进行选择的更好方法是使用 Select Case语句。

  41. 使用 Select Case 进行判断 • Select Case结构在其开始处使用一个只计算一次的简单测试表达式。表达式的结果将与结构中每个 Case的值比较。如果匹配,则执行与该 Case关联的语句块:

  42. Select Case text Case “a“ sub_a Case “b" sub_b Case “c" sub_c Case Else sub_d End Select

  43. 使用循环重复执行代码 • 在 VBScript 中可使用下列循环语句: • Do...Loop: 当(或直到)条件为 True时循环。 • While...Wend: 当条件为 True时循环。 • For...Next: 指定循环次数,使用计数器重复运行语句。 • For Each...Next: 对于集合中的每项或数组中的每个元素,重复执行一组语句。

  44. 使用 Do 循环 • 当条件为 True 时重复执行语句 Dim counter, myNum counter = 0 myNum = 20 Do While myNum > 10 myNum = myNum - 1 counter = counter + 1 Loop MsgBox "循环重复了 " & counter & " 次。"

  45. 重复执行语句直到条件变为 True,只要条件为 False,就会进行循环。 • Dim counter, myNum counter = 0 myNum = 20 Do Until myNum = 10 myNum = myNum - 1 counter = counter + 1 Loop MsgBox "循环重复了 " & counter & " 次。"

  46. 退出循环 • Exit Do语句用于退出 Do...Loop循环。 • Dim counter, myNum counter = 0 myNum = 9 Do Until myNum = 10 myNum = myNum - 1 counter = counter + 1 If myNum < 10 Then Exit Do Loop MsgBox "循环重复了 " & counter & " 次。

  47. 使用 While...Wend • While...Wend语句是为那些熟悉其用法的用户提供的。但是由于 While...Wend缺少灵活性,所以建议最好使用 Do...Loop语句。

  48. 使用 For...Next • For...Next语句用于将语句块运行指定的次数。在循环中使用计数器变量,该变量的值随每一次循环增加或减少。 • Dim x For x = 1 To 50 MyProc Next

  49. 关键字 Step用于指定计数器变量每次增加或减少的值。 • Dim j, total For j = 2 To 10 Step 2 total = total + j Next

More Related