已阅读5页,还剩84页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章ASP网络程序设计,.,什么是web应用程序?,Web应用程序是运行在服务器端的可执行程序或动态链接库,它们可以响应用户要求,动态产生超文本页面,并将信息提供给客户浏览器也就是说,一幅在浏览器端显示的网页,实际上是一段服务器端程序运行的结果,.,ASP的主要特性,使用VBScript或JavaScript等简单易懂的脚本语言,结合HTML代码,即可快速方便地创建大部分的Web网站应用程序。使用简单的文本编辑器(如Windows的记事本)即可创建和编辑ASP程序,并且ASP程序无须编译,即可在服务器端直接执行。ASP提供了一些内置的对象,可用来从客户端的浏览器接收信息或将服务器处理后的响应信息发送给客户端的浏览器。ASP提供了一些标准的ActiveX组件,同时允许用户添加或创建属于自己的ActiveX组件。,.,ASP提供了与后台数据库连接和访问的功能,并且可以使得动态网页的内容随着相关数据库内容的更新而自动更新。ASP的源代码不会被传送到客户端的浏览器,因而可以避免所编写的源程序被他人剽窃,同时也提高了程序的安全性。ASP可使用服务器端的脚本程序来产生客户端的脚本。,ASP的主要特性,.,ASP工作过程,.,ASP组成要素,1HTML代码2ASP脚本语言3ASP内置对象4ActiveX组件,.,ASP脚本语言VBScript,1什么是VBScriptVBScript全称为MicrosoftVisualBasicScriptingEdition,可应用于Web客户端脚本和Web服务器端脚本的编写。在ASP程序中常用的脚本语言有VBScript和JavaScript等语言,系统的默认语言为VBScript语言。ASP可以通俗的说就是把脚本语言放在之间,一般在服务器端运行。,.,2在HTML页面中嵌入VBScript代码(1)在服务器端使用VBScript语法如下:,ASP脚本语言VBScript,.,例2-1:利用“记事本”输入如下代码,保存为2-1.asp:欢迎来到新世纪购物网站!,ASP脚本语言VBScript,.,(2)客户端使用VBScript语法如下:VBScript代码,ASP脚本语言VBScript,.,例2-2利用“记事本”输入如下代码,保存为2-2.htm无标题文档Document.write欢迎学习网站建设与web设计!,ASP脚本语言VBScript,.,3VBScript数据类型在VBScript,只有一种数据类型,称为Variant,也有叫做变体类型。Variant变量中保存的数据类型称为变量的子类型。常见的字类型有字符串、数字、日期、逻辑类型。Variable=2001VBScript会将它当成整数对待Variable=”2001”VBScript会将它当成字符串对待Variable=”北京大学”VBScript会将它当成字符串对待Variable=20.01VBScript会将它当成小数对待,ASP脚本语言VBScript,.,4.VBScript常量,常量就是拥有一定名字的数值,常量可以代表字符串、数字、日期等常数,常量一经定义以后,其值将不能再更改。常量如下定义:,ASP脚本语言VBScript,.,常量示例,源文件,显示结果,.,5VBScript变量(1)变量的声明Dimvarname可以不定义直接使用如果强制必须定义才能使用,就必须要在所有ASP语句之前添加语句:(2)数组变量,ASP脚本语言VBScript,.,数组示例,源文件,显示结果,.,二维数组示例,源文件,显示结果,.,ASP脚本语言VBScript,6VBScript运算符,.,比较运算符示例,源文件,显示结果,.,逻辑运算符示例,源文件,显示结果,.,连接运算符示例(&),源文件,显示结果,.,7VBScript函数VBScript中继承了VisualBasic中的一些函数,可以直接调用即可。转换函数,Cstr,cInt,cDate字符串函数Mid,Left,Right,Trim,instr,len,split日期和时间函数DateTimeNow,year,month,day数学函数SinCos使用函数时要特别注意函数的参数的个数和类型。,ASP脚本语言VBScript,.,例3-6inputbox函数举例3-6.aspInputBox函数举例,ASP脚本语言VBScript,.,例3-7日期函数举例3-7.asp日期函数示例,ASP脚本语言VBScript,.,例3-8字符串函数举例3-8.asp”&B&“”&cstr(C)&D&E%,ASP脚本语言VBScript,.,8VBScript过程为了使程序可重复利用和为了使程序简洁明了,我们经常使用过程。在VBScript中,过程有两种,一种是Sub子程序,一种是Function函数。Sub子程序的语法:Sub子程序名(参数1,参数2,)语句EndSub,ASP脚本语言VBScript,.,Sub子程序,Sub子程序的语法:Sub子程序名(参数1,参数2,)语句EndSub调用子程序Call子程序名(参数1,参数2,),.,子程序示例,源文件,显示结果,.,Function函数,Function函数的语法:Function函数名(参数1,参数2,)语句EndFunction调用函数变量=Function函数名(参数1,参数2,)函数可以向变量一样引用和参与运算,.,函数示例,源文件,显示结果,.,关于函数,形式参数Functionlifanghe(a,b)和实际参数lifanghe(2,3)lifanghe(a,b),.,9使用条件语句在ASP的程序中,常常需要对用户输入的信息进行判断,如用户注册登录时,判断用户填写的信息是否齐全、密码是否正确等等,此时就需要用到条件语句。IfThenElse语句SelectCase语句,.,IF语句示例,源文件,显示结果,.,Select语句示例,源文件,显示结果,.,10使用循环语句VBScript中循环语句是非常重要的语句,通常用于重复执行一组语句,比如累加或从数据库中依次读出多条记录。在VBScript中,常用的循环语句有:ForNext循环DoLoop循环等。,.,ForNext循环示例,源文件,显示结果,.,关于ForNext循环,ForI=1to3Step2循环变量初始值终到值步长默认为1,也可以为小数或负数。,.,Doloop循环示例,源文件,显示结果,.,强行退出循环,如果希望强行退出循环,则在循环内加ExitForExitDo,.,循环嵌套示例,允许的循环嵌套不允许的循环交叉,.,循环嵌套示例,源文件,显示结果,.,ASP内部对象,.,1.ASP内部对象概述,什么叫对象?对象的属性、方法和事件ASP几个重要的内部对象Request对象从客户端获取数据Response对象-向客户端输出数据Session对象-记载特定客户的信息Application对象-记载同一个应用程序中的所有用户之间的共享信息Server对象-提供服务器端的许多应用函数,如创建COM对象和Scripting组件等,.,2.利用Request对象从客户端获取信息,2.2.1Request对象简介2.2.2使用Form数据集合获取表单信息2.2.3使用QueryString获取查询字符串信息2.2.4使用ServerVariables获取环境变量2.2.5使用ClientCertificate获取身份验证2.2.6TotalBytes属性2.2.7BinaryRead方法,.,2.2.1Request对象简介,Request对象用来获取客户端信息,主要依靠5种数据集合,分别是QueryString、Form、Cookies、ServerVariables、ClientCertificate。语法为:Request.数据集合(参数)例如:Request对象还有两个不太常用的属性TotalBytes和方法BinaryRead,.,2.2.2使用Form数据集合获取表单信息,在ASP中,获取FORM表单中的信息就是用Form获取方法来实现的。语法:Request.Form(参数),.,Form数据集合示例1,示例1:一个简单的计算器表单的例子,.,Form数据集合示例2,示例2:表单和表单处理写在同一个文件中,.,Form数据集合示例3,填写注册信息的例子,.,2.2.3使用QueryString获取字符串信息,可以利用QueryString获取方法取到标识在URL后面的所有变量及其值;为什么要用该获取方法?语法:Request.Querystring(“参数”),.,QueryString方法示例,.,2.2.4使用ServerVariables获取环境变量,利用该方法可以获取服务端或客户端的一些信息,如来访者的IP地址。语法如下:Request.ServerVariables(variablename)其中variablename表示环境变量名称字符串,常用的环境变量有:LOCAL_ADDR服务器端IP地址REMOTE_ADDR客户端IP地址SCRIPT_NAME正在运行的脚本文件的路径信息,.,ServerVariables方法示例,.,2.2.5使用ClientCertificate获取身份验证,如果客户端浏览器支持SSL(SecureSocketsLayer,安全套接层)协议,并且服务器端要求进行身份验证,则利用ClientCertificate数据集合就可以获取客户端浏览器的身份验证信息。语法如下:Request.ClientCertificate(keyword)例如:Request.ClientCertificate(Subject)可返回验证主题信息。,.,2.2.6TotalBytes属性,该属性用来获取客户端发出的请求数据的字节大小,语法如下:Request.TotalBytes例如:,.,2.2.7BinaryRead方法,该方法用来以二进制方式获取客户端用POST方法提交的数据。语法为:Request.BinaryRead(count)其中count表示准备读取数据的字节大小,取值可以是0至Request.TotalBytes的整数。比如下面的例子将以二进制方式获取提交的全部数据:,.,3Response对象向客户端输出信息,2.3.1Response对象简介2.3.2使用Write方法输出信息2.3.3使用Redirect方法实现页面重定向2.3.4使用End方法停止处理脚本程序2.3.5Buffer属性、Clear方法、Flush方法2.3.6BinaryWrite方法2.3.7关于HTTP响应信息的复杂操作,.,关于Response对象,每当客户端向服务器端发出一个HTTP请求信息,服务器端就会给客户端返回一个HTTP响应信息。在该信息中不仅包含了要输出到页面上的信息,也包括HTTP内容类型、字符集名称等信息。而这些信息都要靠Response对象来输出。以前已经多次用到Response.write方法了。,.,2.3.1Response对象简介,Response对象用来向客户端输出信息。Response对象常用的方法有:1Write:直接送出信息给客户端。2Redirect:引导客户端至另一个URL位置。3.End:结束程序运行。4Flush:立刻输出缓冲区中的页面内容。常用的属性有下面两个:1Buffer:设置为缓冲信息。2Expires:页面在缓存中保存的时间。Response对象的数据集合:Cookies,它负责设置客户端浏览器的Cookie值。,.,使用Write方法输出信息,向客户端输出信息语法:Response.Write变量数据或字符串如:Response.Write您来访的日期是&Date()输出一个字符串表达式简略语法:如:,.,Write方法示例,示例:用两种方法输出信息,.,2.3.3Redirect方法实现页面重定向,为什么要使用该方法?语法为:Response.Redirecturl其中url表示相对路径、绝对路径或URL字符串.例如:,.,Redirect方法示例,示例:根据不同的用户类型引导至相应的页面,.,2.3.4使用End方法停止处理脚本程序,在ASP程序中碰到Response.End语句后,程序立即终止,不过它会将之前的页面内容发送到客户端,只是不再执行后面的语句了。该方法经常用在调试程序的时候,可以暂时用该语句屏蔽后面的语句,类似于逐条注释掉后面的语句。,.,End方法示例,.,2.3.5Buffer属性和Clear、Flush方法,Buffer属性用来设置服务器端是否将页面先输出到缓冲区,它的值为True或False。当Buffer为True时,它要把页面输出至缓冲区,当Buffer为False时,服务器端不再将页面输出至缓冲区,会直接将页面输出至客户端浏览器。当Buffer的值为True时,Clear方法用于将缓冲区中的当前页面内容全部清除,Flush方法用于将缓冲区中的当前页面内容立刻输出到客户端。想一想为什么要在redirect方法中用Buffer属性?,.,Clear、Flush方法示例,请分析输出结果。,.,BinaryWrite方法,该方法用于在不进行任何字符转换的情况下以二进制方式输出信息。其语法为:Response.BinaryWrite二进制数据变量该方法还可以和TotalBytes属性、BinaryRead方法联合起来使用,以二进制方式获取客户端提交的表单信息并以二进制方式输出到页面上。,.,Server对象Application对象Session对象,.,Server对象,1.Server对象简介Server对象主要用于创建COM对象和Scripting组件等。语法为:Server.方法|属性(变量或字符串|=整数)常见的属性有ScriptTimeout方法主要有CreatObject、HTMLEncode、URLEncode、MapPath。,.,ScriptTimeout属性,该属性用来规定脚本文件执行的最长时间,比如,如果系统创建一个数据库连接,如果超过规定时间还没有连接上就停止连接。默认为60秒:语法:Server.ScriptTimeout=整数(秒)例如:,.,CreateObject方法,利用该方法,可以建立一个已经在服务器上注册的ActiveXServer的组件变量实例,它可以是ASP的内部组件,如数据库存取组件,也可以是第三方提供的组件。语法很简单:Server.CreateObject(ActiveXServer组件)例如:,.,HTMLEncode方法,该方法用来输出为ASCII形式的HTML代码,语法:搜狐”)%想一想?该方法可以用在什么地方?,.,URLEncode方法,该方法根据URL(UniformResourceLocation)编码原则将字符串编码。语法如下:Server.URLEncode(字符串)例如:搜狐”)%输出:%3Ca+href%3D%27http%3A%2F%2Fwww%2Esohu%2Ecom%27%3E%CB%D1%BA%FC%3C%2Fa%3E,.,MapPath方法,如何将虚拟路径转换为真实路径呢?就需要用MapPath方法,语法如下:Server.MapPath(虚拟路径字符串)MapPath的主要用途读取数据库文件时读取其它文件时,.,Test4-19.asp,MapPath方法示例,.,Test6-1.asp,HTMLEncode方法示例搜狐%搜狐)%,.,Session对象简介,Session对象是什么?为什么要用Session对象?Session对象的有效期?属性、方法属性有下面两个:1SessionID存储用户的SessionID2TimeoutSession的有效期时长方法只有一个:1Abandon清除Session对象,.,利用Session存储信息,利用Session可以保存变量或字符串等信息,语法如下:Session(“Session名字”)=变量或字符串信息从Session中调用该信息的语法:a=session(“Session名字”),.,利用Session存储信息,Test5_1.asp,Test5_2.asp,.,利用Session存储数组信息,Session存储数组和存储简单信息基本上是一样的,只不过要记住。Session把传入的数组当成一个整体看待,只能把一个数组整体存入取出。保存信息的语法:Session(“Session数组”)=数组
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学湘艺版小小鼓号手教案
- 2026年钢管租赁合同
- 2025G2电站锅炉司炉考试题模拟考试题库(含答案)
- 2025年药品不良反应相关知识培训试题附答案
- 2024年肠道传染病诊疗规范试题及答案
- 安全专员面试安全风险评估及答案
- 2025年护理核心制度考核试题(附答案)
- 正数和负数(小升初衔接)(教学设计)-2023-2024学年六年级下册数学北师大版
- 卵巢黄体破裂应急预案演练脚本
- 2025年全国导游资格证考试导游业务必考知识点题库及参考答案
- 300MW机组七漏治理方案及消漏方案
- 平面构成渐变
- 第十章蜜蜂授粉
- GB/T 5231-2001加工铜及铜合金化学成分和产品形状
- GB/T 16714-2007连续式粮食干燥机
- 优秀QC成果-提高加热炉热效率发布
- 最新《工会基础知识》试题库及答案1000题【完美打印版】
- 第4课 部屋に 机と いすが あります 课件【知识精讲+备课精研+高效课堂】 高中日语新版标准日本语初级上册
- 物业公司安全生产奖惩管理办法
- 酒店入住登记表excel模板
- 广州版英语四年级上册单词表
评论
0/150
提交评论