5.2 ASP网络程序设计.ppt_第1页
5.2 ASP网络程序设计.ppt_第2页
5.2 ASP网络程序设计.ppt_第3页
5.2 ASP网络程序设计.ppt_第4页
5.2 ASP网络程序设计.ppt_第5页
已阅读5页,还剩111页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ASP网络程序设计,第一章ASP简介,1.网络程序设计语言介绍2.ASP运行环境3.ASP语法简介4.ASP开发工具与调试技巧重点:(1)ASP、PHP和JSP的各自特点(2)ASP的环境配置,1.网络程序设计语言介绍,产生背景国际互联网Internet1969:美国国防部高级研究计划局ARPANET1987:美国国家自然科学基金会NSFNET1989:欧洲粒子物理研究所WWW1994:中国科学院网络信息中心CNIC中国接入,(A)产生背景(续1),WWW:WorldWideWeb万维网HTML:HyperTextMarkupLanguage超文本标记语言,实现文本、图象、超链接、表格等。静态网页:网页内容在设计时就确定了,如要修改或维护,必须修改源代码。动态网页:网页内容可随时更新,具有交互性。,(A)产生背景(续2),CGI:通用网关接口,实现网上数据库管理。使用复杂,不便掌握。ASP、PHP和JSP应运而生,(B)当前主要的网络程序设计语言,ASP、PHP和JSP共性:将脚本语言嵌入到HTML文档中。优点:ASP学习简单,使用方便;PHP软件免费,运行成本低;JSP多平台支持,移植方便。,ASP概述,ASP:ActiveServerPages,动态服务器网页技术,MicroSoft推出后台:WindowsNT/2000Windows98(PWS4.0,PersonalWebServer)前台:网页浏览器Browser,ASP概述(续1),ASP文件:在普通HTML文件中嵌入VBScript/JavaScript脚本语言。在ASP中,脚本在服务器端运行,当客户请求一个ASP文件时,服务器就把文件解释成标准的HTML文件发回客户端。在服务器端运行的好处:不受客户端浏览器限制,便于和服务器交换数据,如存取数据库。,ASP的优点,VBScript源自VB,简单易学;脚本语言直接嵌入HTML文档,无需编译、连接就可以解释执行;利用ADO组件轻松存取数据库;面向对象编程,可扩展ActiveXServer组件功能;不存在浏览器兼容问题;可隐藏源程序代码。,ASP的缺点,运行速度比HTML慢;ASP一般限于WindowsNT/2000平台。,PHP概述,PHP:超文本预处理器(PHP:PersonalHypertextPreprocessor)。1994:RasmusLerdorf首先提出1997:ZeevSuraski、AndiGutamns加以完善,PHP3后台:Unix/Linux/Windows均可;前台:网页浏览器Browser,PHP概述(续1),PHP文件:在普通HTML文件中嵌入脚本语言,类似C/Java/Perl。与ASP一样,脚本在服务器端运行,不受客户端浏览器限制,便于存取数据库。,PHP的优点,PHP是完全免费的,可以从PHP官方站点()自由下载。PHP的源代码开放;多平台支持;不受客户端浏览器限制;与ASP相比,PHP占用系统资源较少,执行效率较高。,PHP的缺点,运行环境的安装、配置比较复杂;相对ASP,复杂一些;没有大型专业公司支持。,JSP概述,JSP:JavaServerPages,Sun公司推出。后台:Unix/Linux/WindowsNT/2000均可;前台:网页浏览器Browser,JSP概述(续1),JSP文件:在普通HTML文件中嵌入Java程序片段(Scriptlet)。在JSP中,脚本在服务器端运行,当客户第一次请求一个JSP文件时,该文件将被编译成Servlet,并由Java虚拟机执行,以后的请求就不用再编译了。注意:ASP每次请求均需翻译。,JSP的优点,多平台支持;编译后运行,执行效率高;JSP采用Java技术,而Java作为一个成熟的跨平台的程序设计语言,几乎可以实现任何想要实现的功能。,JSP的缺点,开发运行环境比ASP复杂;相对ASP的VBScript而言,Java稍难。,选择ASP的理由,ASP是微软的产品,与流行的Windows系统和IE浏览器兼容性好,发展前景好ASP所用的VBScript简单易学;ASP的网上资源多,便于初学者。,2.ASP运行环境,WindowsNT4.0:在Server上安装IIS4.0(InternetInformationServer4.0);Windows2000Server:本身已经支持;Windows98:安装个人服务器软件PWS4.0(PersonalWebServer4.0)。虚拟目录:缺省C:intepubwwwroot,用户最好另建自己的虚拟目录,3.ASP语法简介,ASP文件就是在普通HTML文件中嵌入VBScript/JavaScript脚本语言。过去开发网页也用脚本语言,但以前的脚本语言是在客户端运行,客户端浏览器必须支持才行。在ASP中,脚本在服务器端运行,当客户请求一个ASP文件时,服务器就把文件解释成标准的HTML文件发回客户端。,3.1ASP文件的基本组成和约定,ASP程序包括3个部分:普通的HTML文件;Server端的Script代码,位于之间的程序代码客户端的代码,位于之间的程序代码。,3.1ASP文件的基本组成和约定(注意事项),在ASP中,VBScript是默认的脚本语言,如需改变,可如下进行:由于ASP是在Server端执行,而VBScript的用户界面方法(如InputBox和MsgBox)是在Client端执行,故在ASP中就不能使用了。,3.2ASP文件举例,一个简单的ASP程序欢迎您光临我的主页,3.2ASP文件举例,3.2ASP文件举例(续),一个简单的ASP程序欢迎您来访,3.2ASP文件举例(续),3.2ASP文件举例(续),一个简单的ASP程序欢迎您来访欢迎您来访欢迎您来访欢迎您来访欢迎您来访欢迎您来访,3.3ASP的开发工具,MicrosoftVisualInterDev,可编写、调试,适合多人合作开发大型程序;记事本或其它文本编辑器,*.aspEditPlus、FrontPage,3.4ASP的调试技巧,用编辑器编写,用浏览器调试;阅读出错信息,如错误描述、出错代码行数等,查出原因;将一些语句注释掉,依次逐段调试;在程序中临时添加输出语句,如Response.Write,将中间结果输出来查看,以发现错误。,3.5ASP程序编写注意事项,在ASP中,字母不区分大小写;在ASP中,标点符号均为英文状态下输入的标点符号;但在字符串中无所谓。普通的HTML元素可以在一行里连续书写,但在ASP中必须分行书写。一条ASP语句就是一行,一行也只能写一条ASP语句。,3.5ASP程序编写注意事项(续),(4)如果ASP语句太长,一行写不下,可用续行符“_”(下划线),也可直接写,让它自动换行。(5)普通HTML的注释语句为:。(6)ASP的注释语句为:REM注释内容注释内容,3.5ASP程序编写注意事项(续),(7)在ASP中,的位置相对随意,既可以单独占一行,也可以与ASP语句和在一起占一行。(8)书写风格,缩进格式,阶梯式,加注释(9)在ASP程序中可以包含HTML语句,充分利用FrontPage等编写HTML语句,特别是表格等,在将VBScript脚本插入。,第二章ASP脚本语言VBScript,脚本语言介于HTML和VB、Java等高级语言之间,更接近高级语言,但比普通高级语言简单易学,功能稍弱。ASP本身不是脚本语言,是为嵌入HTML页面的脚本语言提供运行环境。VBScript、JavaScript,默认VBScript脚本语言程序在Server端执行,放在之间;为了某种需要,也可在Cilent端执行。,2.1VBScript代码的基本格式,ASP程序通常将VBScript放在Server端执行标识方法:VBScript代码,2.1VBScript代码的基本格式(续),有时为了某种需要,VBScript也可放在Client端执行,语法格式如下:VBScript代码,2.2VBScript数据类型,在VBScript中,只有一种数据类型,称为Variant,也叫变体类型。它也是VBScript中所有函数的返回值的数据类型。Variant是一种特殊的数据类型,根据不同的使用方式,可包含不同数据类别。Variant变量中保存的数据类型称为数据子类型。如:Variable=2003Variable=“2003”Variable=“上海大学”Variable=3.1415926VBScript可根据赋值自动确定变量的数据子类型。,2.2VBScript数据类型(续),可以使用转换函数来转换数据的子类型可使用VarType函数返回数据的Variant子类型。,2.3VBScript常量,常量:是具有一定含义的名称,用于代替数字、字符串等常数。常量一经声明,其值不再改变,可在程序任何地方代替特定的数值。VBScript定义了许多固有常数。详细信息,请参阅VBScript语言参考。,常量声明方法,可用Const语句在VBScript中创建用户自定义常数。ConstPI=3.1415926ConstConstNumber=2000ConstConstString=“上海埔东”ConstConstDate=#2003-3-15#,常量声明方法(续),最好采用一个命名方案以区分常量和变量。这样可以避免在运行Script时对常量重新赋值。例如,可以使用“vb”或“con”作常数名的前缀,或将常数名的所有字母大写。将常量和变量区分开可以在开发复杂的Script时避免混乱。,2.4VBScript变量,变量:存储在内存中的用来包含信息的地址的名字。只要通过引用变量名就可以查看或更改变量的值。在VBScript中只有一个基本数据类型,即Variant,因此所有变量的数据类型都是Variant。,2.4.1变量声明,变量声明:声明变量的一种方式是使用Dim语句在Script中显式声明变量声明单个变量Dimname声明多个变量时,使用逗号分隔变量。DimTop,Bottom,Left,Right,2.4.1变量声明(续1),直接在Script中使用变量名来隐式声明变量。这通常不是一个好习惯,因为这样有时会因变量名拼错而导致在运行时出现意外的结果。因此,最好使用OptionExplicit语句强制显式声明所有变量,并将其作为Script的第一条语句。,2.4.2VBScript变量举例,2.4.3变量命名规则,命名规则:变量命名必须遵循VBScript的标准命名规则。变量命名必须遵循:(1)第一个字符必须是字母。(2)不能包含嵌入的句点。(3)长度不能超过255个字符。(4)在被声明的作用域内必须唯一。,2.4.4变量的作用域,变量的作用域由声明它的位置决定。如果在过程中声明变量,则只有该过程中的代码可以访问或更改变量值,此时变量具有局部作用域,并被称为过程级变量。如果在过程之外声明变量,则该变量可以被Script中所有过程所识别,称为Script级(也全局级)变量,具有Script级作用域。,2.4.5变量存活期,变量存在的时间称为存活期。Script级变量的存活期从被声明的一刻起,直到Script运行结束。对于过程级变量,其存活期仅是该过程运行的时间,该过程结束后,变量随之消失。在执行过程时,局部变量是理想的临时存储空间。可以在不同过程中使用同名的局部变量,这是因为每个局部变量只被声明它的过程识别。,2.5VBScript数组,多数情况下,只需为声明的变量赋一个值。只包含一个值的变量被称为标量变量。有时候,将多个相关值赋给一个变量更为方便,因此可以创建包含一系列值的变量,称为数组变量。数组的命名、声明、赋值和使用与普通变量基本相同,区别在于要定义数组中的项目数。,2.5.1VBScript数组举例,2.5.1VBScript数组举例,2.5.2VBScript动态数组,动态数组,即在运行Script时其项目个数发生变化的数组。声明动态数组:对数组的最初声明不确定大小,即括号中不包含任何数字,使用时再用ReDim确定维数和每一维的大小。,2.5.2VBScript动态数组举例,2.6VBScript运算符,VBScript有一套完整的运算符,包括算术运算符、比较运算符、连接运算符和逻辑运算符。当表达式包含多个运算符时,将按预定顺序计算每一部分,这个顺序被称为运算符优先级。可以使用括号越过这种优先级顺序,强制首先计算表达式的某些部分。运算时,总是先执行括号中的运算符,然后再执行括号外的运算符。但是,在括号中仍遵循标准运算符优先级。,2.6VBScript运算符(续),当表达式包含多种运算符时,首先计算算术运算符,其次连接运算符,然后计算比较运算符,最后计算逻辑运算符。所有比较运算符的优先级相同,即按照从左到右的顺序计算比较运算符。,2.7VBScript函数,函数是系统提供的实用功能,恰当使用已有的函数可以得到很多便利。,2.7.1转换函数,在使用过程中,Variant变量一般会根据需要自动转换成合适的数据类型;但有时,自动转换有可能造成数据类型不匹配错误。此时,就应使用VBScript的转换函数来强制转换数据的子类型。,2.7.1转换函数(续),2.7.2输入/输出函数,输入、输出函数只能在客户端运行,不能在服务器端运行,因为它们要在客户端弹出窗口。输入、输出函数作用很大,因为信息验证类事务如放在客户端进行,既能减轻服务器负担,有能提高执行效率。,2.7.2输入/输出函数(续1),输出函数MsgBox(prompt,button,title)prompt:显示窗口中的提示信息button:指定窗口外观和按钮类型title:显示窗口标题中的文字说明:中为可选项,2.7.2输入/输出函数(续2),输入函数String=InputBox(prompt,title,default)String:用户输入的内容prompt:显示窗口中的提示信息title:显示窗口标题中的文字default:指定窗口中的文本输入框内的默认字符串,即默认输入内容说明:中为可选项,2.7.2输入/输出函数举例,InputBox和MsgBox用法示例OptionExplicit强制要求变量必须声明DimName1,Name2声明变量Name1=InputBox(金庸小说中你最喜欢的人物第一是,输入名称)Name2=InputBox(金庸小说中你最喜欢的人物第二是,输入名称)MsgBoxName1&“和”&Name2&“是金庸小说中你最喜欢的两个人物”,2.7.3字符串函数,字符串用途广泛,如用户注册时输入的用户名、密码等信息,留言板中的留言标题、内容、留言人等信息,都是作为字符串处理的。,2.7.3日期与时间函数,在VBScript中,可以用日期和时间函数得到各种格式的日期和时间,如留言板里经常用Date()来记载留言日期。常用日期和时间函数如下表:,常用日期与时间函数,常用日期与时间函数,日期与时间间隔因子,日期和时间函数的用法示例,程序3.2.asp的结果,常用数学函数,检验函数,2.7.5检验函数示例,2.8条件语句,使用条件语句可以控制Script的流程,使用条件语句可以编写进行判断操作的VBScript代码。在VBScript中可使用以下条件语句:If.Then.Else语句SelectCase语句,2.8If语句,If语句用于计算是否为True或False,并且根据计算结果指定要运行的语句。通常,是使用比较运算符对值或变量进行比较的表达式。通常有如下几种格式:格式1IfThenEndif,2.8If语句(续2),格式2IfThenElseEndif,格式3IfThenElseIfThenElseEndif,2.8.1If语句举例,条件为True时运行单行语句:,2.8.1If语句举例(续1),条件为True时运行多行语句:Ifvalue=0ThenAlertLabel.ForeColor=vbRedAlertLabel.Font.Bold=TrueAlertLabel.Font.Italic=TrueEndIf,2.8.1If语句举例(续2),条件为True和False时分别运行某些语句:Ifvalue=0ThenAlertLabel.ForeColor=vbRedAlertLabel.Font.Bold=TrueAlertLabel.Font.Italic=TrueElseAlertLabel.Forecolor=vbBlackAlertLabel.Font.Bold=FalseAlertLabel.Font.Italic=FalseEndIf,2.8.1If语句举例(续3),对多个条件进行判断Ifvalue=0ThenMsgBoxvalueElseIfvalue=1ThenMsgBoxvalueElseIfvalue=2thenMsgboxvalueElseMsgbox“数值超出范围!”EndIf,2.8.1If语句举例(续4),=85ThenResponse.write太不可思议了,你太厉害了ElseifGrade=70andGrade=60andGrade,2.8.2SelectCase语句,SelectCase结构提供了If结构的一个变通形式,可以从多个语句块中选择执行其中的一个。SelectCase语句提供的功能与If语句类似,但是可以使代码更加简练易读。,SelectCaseCaseCaseCaseCaseElseEndSelect,SelectCase语句格式,SelectCaseCaseCaseCaseCaseElseEndSelect,说明:首先计算,然后用该结果依次与、进行比较,执行第一个与之匹配的结果相对应的语句,执行完毕后就跳出SelectCase语句;没有找到匹配,就执行CaseElse后面的。,SelectCase语句举例,SelectCaseDocument.Form1.CardType.Options(SelectedIndex).TextCaseMasterCardDisplayMCLogoValidateMCAccountCaseVisaDisplayVisaLogoValidateVisaAccountCaseAmericanExpressDisplayAMEXCOLogoValidateAMEXCOAccountCaseElseDisplayUnknownImagePromptAgainEndSelect,SelectCase语句举例(续),DimGradeGrade=DSelectCaseGradeCaseAResponse.write太不可思议了,你太厉害了CaseBResponse.write不错啊,继续努力吧CaseCResponse.write有点差,还需努力CaseELseResponse.write我无话可说EndSelect,2.9循环语句,循环用于重复执行一组语句。循环可分为三类:一类在条件变为False之前重复执行语句,一类在条件变为True之前重复执行语句,另一类按照指定的次数重复执行语句。在VBScript中可使用下列循环语句:Do.Loop:当(或直到)条件为True时循环。While.Wend:当条件为True时循环。For.Next:指定循环次数,用计数器重复运行语句。ForEach.Next:对于集合中的每项或数组中的每个元素,重复执行一组语句。,2.9.1ForNext循环,For.Next语句用于将语句块运行指定的次数。在循环中使用计数器变量,该变量的值随每一次循环增加或减少。格式:Forcounter=startToendStepstepNext,ForNext循环例,For循环例(续),Dimj,totalForj=2To10Step2total=total+jNextMsgBox“总和为:&total&。,ExitFor退出循环,ExitFor语句用于在计数器达到其终止值之前退出For.Next语句。因为通常只是在某些特殊情况下(例如在发生错误时)要退出循环,所以可以在If.Then.Else语句的True语句块中使用ExitFor语句。如果条件为False,循环将照常运行。,ExitFor退出循环例,10000ThenExitForEndIfNext%,2.9.2DoLoop循环,当条件为True时重复执行语句While关键字用于检查Do.Loop语句中的条件。有两种方式检查条件:在进入循环之前检查条件;或者在循环至少运行完一次之后检查条件格式一(入口型):DoWhileLoop格式二(出口型):DoLoopWhile,2.9.2DoLoop循环(续),重复执行语句直到条件变为TrueUntil关键字用于检查Do.Loop语句中的条件。有两种方式检查条件:在进入循环之前检查条件;或者在循环至少运行完一次之后检查条件。只要条件为False,就会进行循环。格式三(入口型):DoUntilLoop格式四(出口型):DoLoopUntil,DoLoop循环例,Dimcounter,myNumcounter=0myNum=20DoWhilemyNum10myNum=myNum-1counter=counter+1LoopMsgBox循环重复了&counter&次。,DoLoop循环例,Dimcounter,myNumcounter=0myNum=20DomyNum=myNum-1counter=counter+1LoopWhilemyNum10MsgBox循环重复了&counter&次。,2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论