电子商务网站设计与管理6汇编_第1页
电子商务网站设计与管理6汇编_第2页
电子商务网站设计与管理6汇编_第3页
电子商务网站设计与管理6汇编_第4页
电子商务网站设计与管理6汇编_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

1、第六章 动态(dngti)网站建设技术ASP本章要点:ASP基础ASP语法(yf)ASP内置对象的应用ASP组件的应用1共七十页一、ASP的特点(tdin)与功能ASP:Active Server Pages,简称ASP,是一套微软公司开发的服务器端脚本运行环境,ASP内含于IIS之中。1、ASP的特点(tdin)无需编译编辑方便独立于浏览器面向对象与多种脚本语言兼容源程序的保密性2共七十页2、ASP的功能交互性数据库操作文件读写提供内置组件(z jin)用户端文件操作站点集成性扩充功能强3共七十页服务器IISASP3、ASP运行(ynxng)过程客户机IEMS SQL数据库服务器在浏览器地址

2、栏输入(shr)/default.asp回车定位页面文件IIS内置的ASP解释ASP程序代码?IE解释经过翻译的标准HTML代码要访问数据库吗?将ASP程序转换成标准的HTML页面4共七十页4、ASP的文件(wnjin)结构HTML标记VBScript或Jscript脚本ASP语句ASP程序的编写:可使用任意一款文本编辑软件,如记事本一个示例:5共七十页二、ASP语法(yf)1、ASP标记ASP程序定界符:注:利用也可使得(sh de)脚本在服务器端执行。ASP中脚本语言的声明在ASP文件的第一句加上语句:利用标记定义函数与过程 6共七十页EX2.ASP7共七十页什么时候用:在ASP文件中以V

3、BScript脚本为主,在临时(ln sh)需要调用Jscript定义函数与过程时利用标记如下例8共七十页EX3.ASP9共七十页2、VBScript基础VBScript的数据类型:Variant,它可以用来包含任何的数据类型,所有函数的返回值也是这个类型。VBScript的常量字符串常量:以双引号括起的内容如:“Hello World!”;如要在字符串中使用引号,则可在字符串内部用两个双引号表示一个双引号,也可用单引号表示日期与时间常量:包含在两个“#”之间如:#1999/01/01#; #12 : 00 : 00#使用Const语句声明常量:如:Const MyString=“Hello

4、World!”布尔型常量:true、falseVBScript的变量命名规则:必须以字母(zm)开始;最多255个字符;不区分大小写;不可以包含句点或类型声明字符。变量的声明:可以不需专门声明。 声明语句:Dim X=1010共七十页VBScript中的运算符赋值运算符:= 如:X=100算术运算符:+、-、*、/比较运算符:=、=逻辑运算符:AND、 OR、 NOT连接运算符:& 如:“现在的时间是” & now()VBScript中的表达式:由常量、变量或函数(hnsh)与运算符组合而成的式子如:X+10;Now();“你好!”11共七十页3、VBScript语言的基本结构条件语句基本结构

5、:If 条件表达式 then 语句序列1Else 语句序列2End if如:=60 Then Response.write “及格! ” 注:此句也可采用HTML直接(zhji)输出Else Response.write “不及格!” 注:此句也可采用HTML直接输出End If%12共七十页多分支选择(xunz)语句基本结构:Select Case 数据或表达式 case 条件值1 语句序列1 case 条件值2 语句序列2 Case Else 语句序列N+1End Select13共七十页例EX4body bgcolor=一个随星期(xngq)改变页面背景色的示例14共七十页循环语句Do

6、While Loop循环Do While 条件(tiojin)表达式 语句序列 Exit DoLoop或:Do 语句序列 Exit DoLoop While 条件表达式15共七十页For Next计次循环For 条件初始值 To 条件终止(zhngzh)值 语句序列Next例EX5%For i=1 to 7 Response.write “” Response.write “这是” & I & “号字” Response.write “”Next%16共七十页4、数组、子程序与函数(hnsh)数组数组的声明:以下定义(dngy)了11个数组元素Dim X(10)数组的使用X(0)=80 X(1

7、0)=90数组的重新定义Dim X()ReDim X(20)17共七十页通过(tnggu)赋值创建数组%X=Array(”Word”,”Excel”,”PowerPoint”,“Access”,“Outlook”)For i=0 to 4 response.write X(i) & “”Next%18共七十页UBound函数功能:读取数组中最大的下标(xi bio)%X=Array(”Word”,”Excel”,”PowerPoint” )FOR I=0 TO UBound(X) Response.write X(i) & “”NEXT%二维与多维数组的定义Dim X(4,3)19共七十页子程

8、序子程序的定义Sub 子程序名(形式参数列表) 语句序列(xli)End Sub子程序的调用Call 子程序名(实际参数列表)20共七十页自定义函数(hnsh)函数的定义Function 函数名(形式参数列表) 语句(yj)序列 函数名=表达式 End function函数的调用直接输入函数名即可设置函数返回值21共七十页例:Function sum(n) sum=0 for i=0 to n sum=sum+I nextEnd functionResponse.write “累加和为” & sum(10)22共七十页VB内建函数的应用(yngyng)字符串类型函数Ucase():将字符串转换

9、成大写Lcase():将字符串转换成小写Trim():去除字符串中多余空格Len():返回字符串内字符的数目Replace():字符串替换Replace(“张三,李四,王五”,“,”,“”)数值类型函数Ubound():获取数组名的最大下标FormatNumber(数值,所取之小数位数)Cint():将数据转换成实数并四舍五入(s sh w r)取整CSng()/CDbl():将数据转换成实数(4字节/8字节)Rnd:产生随机数(0 = N1);在Rnd之前调用Randomize使随机数的产生无规律23共七十页日期时间类型函数(hnsh)Date()、Now()、time()获取当前日期与时间

10、Year、Month(0-11)、Day获取年月日Hour(0-23)、Minute(0-59)及Second(0-59)获取时、分、秒其他函数IsEmpty():判断变量是否为emptyIsNull():判断变量是否包含有效数据IsDate():判断变量是否可以转换为日期IsNumeric():判断变量是否为数字IsArray():判断变量是否为数组24共七十页三、ASP内置对象(duxing)的应用对象:客观世界存在的事物对象的特性:属性、方法使用对象的语句读取对象的属性X=Response . Buffer设置(shzh)对象的属性Response.Buffer=数据调用对象的方法Res

11、ponse.Write X对象名对象的属性句点操作符对象的方法25共七十页1、Response对象(duxing):作用:用于控制发送给用户浏览器的信息。Write方法(fngf):将指定字符串写到当前的HTTP输出流中(即输出到客户端浏览器中)。格式:response.write 数据;如:Response.write “hello,world!”Response.write now()Response.write “粗体字”Response.write “现在是” & now()Response.write “”26共七十页单个数据(shj)的输出:如:使用with语句减少代码书写With

12、 Response . Write 数据 . Write 数据 End with27共七十页Redirect方法作用:使浏览器尝试连接到其他URL。格式:response.redirect URL,如:Response. redirect “01.htm”Response. redirect “./soft/index.asp”Response. redirect “/”注意:Redirect方法只能够在还没有任何数据输出到浏览器以前(yqin),才可以调用,如以下会出错:28共七十页End方法作用:结束或停止(tngzh)后续数据输出。格式:response.end,如:If mystrin

13、g=empty then Response.write “请输入兴趣!” Response.endEnd if以下为正常处理程序Response.write “你的兴趣是”&mysting29共七十页Buffer属性作用:用来指定页面输出时是否需要缓冲区格式:response.buffer=true | falseFlush方法作用:立即发送缓冲区中的输出格式:response.flushClear方法作用:删除缓冲区中的所有HTML输出格式:response.clear注意:Buffer属性的设置应是在没有任何(rnh)HTML或ASP数据输出到浏览器;Flush方法和Clear方法的使用必

14、须保证Buffer设置为True如下例会出现错误!30共七十页 31共七十页32共七十页2、Request对象(duxing)作用:用于从客户端浏览器接收数据Request对象的主要集合(方法)QueryString集合(客户端使用Get方法传递的数据)Form集合(客户端使用Post方法传递的数据)Cookie集合ServerVariable集合格式:Request.集合|属性|方法(变量),如:Request.form(“username”)Request(“username”)注意:如果(rgu)不指定集合名称,则request对象会按QueryString/form/cookie/Se

15、rverVariable顺序查找指定变量33共七十页在客户端向ASP程序输入数据在地址栏中输入:/exam.asp?xm=张三&love=英语由表单输入姓名:爱好(i ho): 附带数据(shj)开始多个数据的分隔符34共七十页(1)Request对象的QueryString集合用户在Form中使用(shyng)Get方法传递数据时,所提交的数据不是被当作一个单独的包发送的,而是被附在查询字符串(QueryString)中,一起被提交到服务器端。即此集合用于存取URL如:http:/localhost/chuli.asp? love=english形式的变量值。注:当在表单中使用Get方法提交

16、数据时,也会产生如上URL所示的地址。格式:Request.QueryString(变量名)如:mylove=Request.QueryString(“love”)Querystring集合的应用:一个用户登录实例35共七十页表单页面(y min)login.htm账号:密码:处理程序access.asp36共七十页上例中access.asp中数据的输入(shr)也可不通过表单得到,如下:方法一:/access.asp?user=admin&pwd=123方法二:在超级链接中直接设置URL及其参数登录37共七十页(2)Request对象的Form集合在使用Post方法将HTML表单数据提交到服

17、务器时,表单数据作为Form集合的成员。此谅输入的数据不受长度限制,且数据不会出现(chxin)在浏览器的URL地址栏中。格式:request.form(element)(index)|.count38共七十页属性(shxng)说明:Element:指定表单元素的名称Index:可选,表示表单元素中的多个参数值的顺序号Count:集合中表单元素的个数例1:Request.Form(“love”).Count获取表单元素为Love复选项的选项个数;例2:Request.form.Count获取表单中表单元素的个数Form集合的应用:39共七十页表单页面login.htm账号:密码:处理程序acc

18、ess.asp40共七十页通过Request(“变量”)语句接收数据user=request (“user”)利用遍历循环For Each In获取表单元素值格式(g shi):for each 变量名 in 集合名Next如:% For each myvar in request.form Response.write “” & myvar &”=” Response.write request.form(myvar) Next %41共七十页利用循环For Next%For i=1 to request.form.count Response.writ “”&request.form(i)

19、next%一个(y )用户调查表实例:EX6.htm、Proceed.asp42共七十页利用循环For Next%For i=1 to request.form.count Response.writ “”&request.form(i)next%一个用户(yngh)调查表实例:EX6.htm、Proceed.asp43共七十页(3)ServerVariables(服务器环境变量)集合(jh)用于记录HTTP头信息,如客户IP地址,客户浏览器类型格式:Request.ServerVariables(“环境变量”)例:返回客户端IP地址:Request.ServerVariables(“Remo

20、te_Addr”)返回当前ASP文件的虚拟路径:Request.ServerVariables(“Path_Info”)返回当前页链接来源 Request.ServerVariables(“http_referer”)查看服务器环境变量的实例44共七十页查看(chkn)服务器变量%For each name in request.servervariables response.write “” & name response.write “=” & request.servervariables(name) response.write “”next%45共七十页一个限定用户从特定页面登录的

21、程序用户只能从login.htm登录才能(cinng)进入46共七十页3、Response与Request对象(duxing)的Cookies集合什么(shn me)是Cookie:Cookies是一组记录在客户端的标记,便于站点下次被访问时读取。可以实现页面间信息的共享。格式:写入Cookies值:Response.Cookies (cookie)(key)|.attribute=MyValue读取Cookies集合中的值:Mycookies=Request.Cookies(cookie)(key)|.attribute47共七十页说明如下(rxi)Cookie:Cookie名称如:写入Co

22、okieResponse.Cookie(“MyCookie”)=“sugar”读取Cookie值MyCookie=Request.Cookie(“MyCookie”)Key:可选参数,如果指定了 Key,则Cookie就是一个“字典”。如:response.Cookies(“mycookie”)(“type1”)=“sugar”Response.Cookies(“mycookie”)(“type2”)=“ginger snap”48共七十页Attribute:指定Cookie自身有关信息,参数可是下列之一:Domain:只允许写。若被指定,则Cookie将被发送到对该域的请求中去。Expire

23、s:只允许写。Cookie的过期日期。为了在会话结束后将Cookie存储在客户端磁盘上,必须设置该日期。HasKeys:只允许读。判断Cookie是否包含关键字。值为True或FalsePath:只允许写,若被指定,则Cookie将只发送到对该路径的请求中,如果(rgu)未设置该属性,则使用应用程序的路径。Secure:只允许写。指定Cookie是否安全49共七十页一个如何设置(shzh)Cookie属性的例子:50共七十页Cookie的应用(yngyng):简易计数器51共七十页4、Session对象(duxing)功能:存储特定的用户会话所需信息。Cookies对象可以将变量(binlin

24、g)的内容保存在客户端,而Session对象和Application对象可在将其保存在服务器端,故其可作为变量(binling)在各客户的页面间传递。每一个联机的客户端都是一个独立的Session对象Session对象的使用必须配合浏览器的Cookies功能才有效语法格式:Session.属性|方法利用Session对象保存数据(自定义属性) Session(“mydata”)=data1从Session对象中读取数据 Data1=Session(“mydata”)52共七十页SessionId属性说明:返回用户的会话标识,在创建会话联机时,服务器会为每一个会话生成一个单独的标识,以长整形数据

25、类型返回。如:你的SessionID为:Timeout属性设置当前ASP程序的Session对象有效时间(以分种为单位),如用户在此时间内不刷新或请求网页(wn y),则该会话将终止。如:Session.Timeount=10Abandon方法:删除所有存储在Session对象中的数据,并释放这些对象的资源(在当前面中脚本处理完后才真正删除)如:如未明确调用该方法,一时会话超时,服务器将删除这些对象53共七十页Session对象(duxing)的应用强迫进入(jnr)首页控制用户必须登录后访问的页面Session计数器54共七十页5、Application对象(duxing)作用:利用Appl

26、ication对象保存变量内容所有联机上网者共享一个(y )Application对象Application对象的读写(自定义属性)Data1=Application(“data1”)Application(“data1”)=data1Application对象的方法Application.lock 锁定Application对象Application.Unlock55共七十页基于(jy)Application对象的访问计数器你是本站第位访问者改进:56共七十页Session对象(duxing)与Application对象(duxing)的比较%sdata=session(“sdata)res

27、ponse.write “进入网页(wn y)时Session变量sdata=& sdata&sdata=sdata+100response.write “网页结束时Session变量sdata=& sdata &session(sdata)=sdata%*%adata=Application(adata)response.write 进入网页时Application变量adata=& adata &adata=adata+100response.write 网页结束时Application变量adata=& adata &Application(adata)=adata%57共七十页6、 G

28、lobal.asa文件(wnjin)与Session、Application对象的事件Global.asa文件作用:事件脚本文件,存储事件信息和全局变量。使用条件:一个网站只能有一个Global.asa文件,且必须存放在网站的根目录。只能通过脚本标记,而不能用Global.asa文件中不能有任何输出语句。Session_OnStart事件该事件在服务器创建新会话时发生(fshng),所有内建对象都可在该事件中使用58共七十页Session_OnEnd事件会话被放弃或超时发生时产生的事件Application_OnStart事件该事件在首次创建新的会话(即Session_OnStart事件)之前

29、发生。只有Application和Server内建对象(duxing)可用。Applicon_OnEnd事件该事件在应用程序退出时,在Session_OnEnd事件之后发生59共七十页在Global.asa中定义事件:显示在线人数实例Sub Application _OnStart Application.Lock Application(“Online”)=o Application.UnLockEnd subSub Session_OnStart Application.Lock Application(“Online”)= Application(“Online”)+1 Applicat

30、ion.UnLockEnd subSub Session_OnEnd Application.Lock Application(“Online”)= Application(“Online”)-1 Application.UnLockEnd sub在ASP文件中显示在线人数:60共七十页7、 Server对象(duxing)功能:该对象提供对服务器上的方法(fngf)和属性进行访问,如创建ActiveX组件实例等。利用Server.CreateObject创建对象如:Set rs=Server.CreateObject(“ADODB.Connection”)用Server.HTMLEncode

31、方法输出HMTL标记源码如:% =Server.HTMLEncode(“这是不是粗体字”)%用Server.MapPath方法获取页面文件的直接路径如:Server.MapPath(“index.htm”)61共七十页8、 ActiveX外部组件(z jin)应用ActiveX组件对应于Web服务器上的一个外部文件(内置组件是集成在ASP环境中),其包含执行某项或一组任务(rn wu)的代码,以执行公用任务(rn wu)。可以是系统自带,第三方开发及自己编写。ASP自带组件Ad Rotator广告组件Browsre Capabilities浏览器组件Database Access数据库访问组件

32、File Access文件访问组件Content Linking链接组件CDONTS邮件访问组件62共七十页(1)Ad Rotator组件GIF动画广告(gunggo)的缺点功能:创建一佧Ad Rotator对象,该对象在页面上自动变换显示广告图像,并能链接到相应网站(网址)。对应文件:adrot.dll准备工作:确立相关资料图片网址图片描述显示概率yahoo.gif/雅虎20Sohu.jpg/搜狐40263.gifhttp:/www. advert.aspWidth 400Leight 40Border 1*Images/yahoo.gif雅虎搜索引擎20Images/sohu.jpg搜狐4

33、0Images/263.gif首都在线4064共七十页建立广告处理文件Advert.aspurl=Request.QueryString(“url”)If url” then Response.AppendToLog url 上句将URL添加到服务器日志末尾(mwi),以计算广告点击数 Response.Redirect urlend if在ASP文件中调用广告组件65共七十页(2)File Access文件访问组件功能:提供对服务器端文件的访问创建新文件:Set fs=Server.CreateObject(“Scripting.FileSystemObject”)File=Server.MapPath(“/abc.txt”)Set txtf=fs.CreateTextFile(file)写入文件Txtf.WriteLine(“文件操作实例(shl)。”)Txtf.Write Data关闭文件Txtf.Close利用File Access组件实例fs的CreateTextFile方法(fngf)创建实际文件将欲新建的文件名转换成本地实际路径:C:Intetputwwwroot创建File Access实例对象66共七十页打开文件Set fs=Server.CreateObject(“Scr

温馨提示

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

评论

0/150

提交评论