1 / 67

电子商务网站建设

电子商务网站建设. 主讲教师:李淑珍 Tel:15979199558 Email:sz_li@163.com. 第四章 ASP 动态网页. 教学目标: 通过对本章的学习,使我们同学了解 ASP 的运行环境和支持的默认脚本 VBScript ,并熟悉 ASP 的对象和 ASP 的组件,以便在今后动态网站的开发打下坚实的基础。 本章分为四个小节: 第一节 ASP 的运行环境 第二节 ASP 默认脚本 VBScript 第三节 ASP 的对象 第四节 ASP 的组件. 第一节 ASP 的运行环境. 1 、什么是动态网页?

jarvis
Download Presentation

电子商务网站建设

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. 电子商务网站建设 主讲教师:李淑珍 Tel:15979199558 Email:sz_li@163.com

  2. 第四章 ASP动态网页 教学目标: 通过对本章的学习,使我们同学了解ASP的运行环境和支持的默认脚本VBScript,并熟悉ASP的对象和ASP的组件,以便在今后动态网站的开发打下坚实的基础。 本章分为四个小节: 第一节ASP的运行环境 第二节ASP默认脚本VBScript 第三节ASP的对象 第四节ASP的组件

  3. 第一节ASP的运行环境 1、什么是动态网页? 1)动态网页是动态服务器技术编写生成网页,文件扩展名一般为:asp、aspx、php、jsp; 2)动态网页一般是以数据库技术为基础的,可将相关信息通过动态网页录入到数据库,同时又通过动态网页将数据库内容显示出来; 3)动态网页在服务器端执行,我们用户看到只是服务器处理后返回浏览器的结果页面; 4)动态网页能实现多种交互功能,比如:会员注册、登录、新闻发布、在线留言、论坛、网上调查、投票、上传文件、博客等。 B发出请求---->S接受请求------>服务器处理请求----->返回处理结果页面给用户浏览器

  4. 第一节ASP的运行环境 2、ASP的概念 ASP是"Active Server Pages"的简称,意为"活动服务器页面"。它是由微软公司开发的一种服务器端的脚本编写环境,它一般以VBScript作为服务器端脚本语言。 1)Active:ASP使用微软的ActiveX技术。ActiveX技术采用的是封装对象,程序调用对象的技术,即组件。 2)Server:表示ASP运行在服务器端,所以完全不必考虑客户端是否支持ASP。 3)Pages:ASP返回标准的HTML页面,这个页面与普通的静态页面一样,可以正常在浏览器中显示,查看网页源文件时,看到的是ASP动态生成的HTML代码,而不是原始ASP代码,这也就可以防止别人抄袭程序,同时也提高了动态网页的安全性。

  5. 第一节ASP的运行环境 3、ASP的运行环境 1)ASP需要的运行环境 window98操作系统可安装pws(Personal Web Server,即个人web服务器) window2000/xp/2003操作系统可安装IIS(Internet Information Server,即Internet信息服务) 2)安装、配置、管理IIS 安装:选择控制面板中的添加删除程序,再选择添加组件,将IIS服务选项选中,点击下一次开 始安装; 配置:在控制面板-->管理工具-->打开IIS,可对web站点的名称、IP地址、端口、主目录路径、权限、文档等进行设置; 管理:可添加删除web站点、虚拟目录等服务。

  6. 第一节ASP的运行环境 3)建立DreamWeaver动态站点 a、在本地计算机建立站点文件夹; b、为站点文件夹建立虚拟目录; c、建立DW动态站点,包括站点名称、文件夹位置、URL前缀、使用的服务器技术、默认脚本等。

  7. 第二节 ASP默认脚本VBScript 1、VBScript和ASP VBScript即Microsoft Visual Basic Scripting Edition的简写,它是程序开发语言Visual Basic家庭的成员之一。 它能灵活运用于Microsoft Internet Explorer中的客户端脚本和Microsoft Internet InformationServer的服务器端脚本。 ASP指令、对象、组件通常与HTML、脚本程序混合使用: 1)标准的HTML标签代码,是以一对尖括号"<>"包含某特定的HTML元素进行声明:比如:<table>表示表格,<img>表示图像、<bgsound>表示背景声音等。

  8. 第二节 ASP默认脚本VBScript 2)标准的客户端Script代码,是以"<script>...</script>" 包含定义相关脚本语言具体程序代码内容; 3)标准的ASP代码声明,是由"<%"和"%>"括起来的的内容,即ASP可执行的相关内容,其中"<%=和 %>"括起的部分为输出内容。例如:<%=now()%>表示输出系统的日期和时间 2、VBScript数据类型 VBScript中只有一种数据类型,即Variant。它是种特殊的数据类型,根据不同的使用方式而包含不同类别的信息。 Variant可以包含数字或字符串信息,其还可以进一步区分数值信息的特定含义,并将这些数值信息类型称为子类型。

  9. 第二节 ASP默认脚本VBScript Variant包含的子类型有: 1)Empty:未初始化的Varian,对于数值而言,值为0,对于字符串而言,值为零长度的空字符串(""); 2)Null:空值,不含任何有效数据; 3)Boolean:逻辑值,同"布尔值",包含"True"和"False"; 4)Byte:单字节整数; 5)Integer:短整数; 6)Long:长整数; 7)Currency:货币类型; 8)Single:单精度浮点数; 9)Double:双精度浮点数; 10)Date/Time:日期和时间类型; 11)String:变长字符串,最大长度可为20亿个字符; 12)Object:对象; 13)Error:错误号。

  10. 第二节 ASP默认脚本VBScript 3、VBScript变量 变量是一种临时的存储单元,其值可通过赋值发生变化,而常量在程序中值不变,使用const来定义,如:const a=100 1)变量的声明: 隐式声明变量指变量被赋值同时进行变量声明,如:str1="vbscript"; 显示声明变量指使用Dim进行的变量声明,如: Option Explicit Dimstr1 str1=100 2)变量的赋值: 通常使用"="进行赋值,在赋值号左侧为变量,而值则在赋值号的右侧,如:str2=True

  11. 第二节 ASP默认脚本VBScript 3)变量的命名规则: 变量的命名必须遵守该语言定义的标准命名规则,在VBScript中,变量命名需遵守以下规则: a、首字符必须为字母,不能使用数字或符号开头; b、不能包含句点; c、变量名不超过255个字符; d、在声明的范围内必须是有唯一性。 4、VBScript运算符 VBScript有一套完整的运算符,包括算术运算符、连接运算符、比较运算符和逻辑运算符。当表达式中包含多种运算时,运算优先级依次是算术、连接、比较和逻辑运算。

  12. 第二节 ASP默认脚本VBScript 1)算术运算符 a、^(求幂):计算数的指数次方; b、*(乘):计算两个数相乘; c、/(除):计算两个数相除; d、\(整除):两个数相除并以整数形式显示; e、+(加):计算两个数相加; f、-(减号或负号):计算机两个数的差或表示数值为负值; g、Mod(求余、取模):显示两数相除的余数。 2)连接运算符 "+"和"&"运算符都具有连接运算符的作用,如:"abc" & "123" 结果为abc123。

  13. 第二节 ASP默认脚本VBScript 3)比较运算符 比较运算符用于比较表达式中,一般用于条件语句的条件判断中。其中包含以下几种运算符:=(等于)、<>(不等于)、<(小于)、>(大于)、<=(小于等于)、>=(大于等于)、Is(比较引用同一对象)。 4)逻辑运算符 a、Not(非):对于表达式执行逻辑非运算; b、And(与):对两个表达式进行逻辑与运算; c、Or(或):对两个表达式进行逻辑或运算; d、Xor(异或):对两个表达式进行逻辑异或运算; e、Eqv(等价):对两个表达式进行逻辑等价运算; f、Imp(蕴涵):第一个表达式为真,第二个表达式为假,结果为假。

  14. 第二节 ASP默认脚本VBScript 5、VBScript语句 1)、顺序结构: 顺序结构就是程序语句由上至下按照程序显示顺序依次执行。 2)、分支(条件)语句 a、If语句 单条件判断(行If):If 条件 Then表达式1 Else 表达式2 多条件判断(块If): If 条件1 Then 表达式1 ElseIf 条件2Then 表达式2 Else 表达式3 End If

  15. 第二节 ASP默认脚本VBScript b、Select Case语句 Select Case表达式 Case条件值1 语句1 Case条件值2 语句2 ... Case条件值n-1 语句n-1 CaseElse 语句n End Select

  16. 第二节 ASP默认脚本VBScript 3、循环语句 a、Do...Loop语句 DoWhile条件//表示首先判断循环条件是否成立,为真则执行循环 循环体//体部分,再返回进行二次判断,直到条件不成立 Loop DoUntil条件 //表示一直执行循体部分,直到条件为真。 循环体 Loop Do//先执行一次循环体,在判定条件,只有其为真时则继续循环 循环体 LoopWhile条件 Do//先执行一次循环体,在判定条件,只有其为假时则继续循环 循环体 LoopUntil条件

  17. 第二节 ASP默认脚本VBScript b、While...Wend 语句 While 条件 //表示当循环条件为真时执行循环体部分,直到条件为假则退出循环循环体 Wend c、For...Next 语句 For变量名=初值 to 终值步长 //比如以下程序段结果为:1357 <% Fori=1 to7 step 2 Response.Write(i) Next %>

  18. 第二节 ASP默认脚本VBScript 6、VBScript过程和函数 过程是组成程序的逻辑单位,过程一般都具有特定的功能,以提供其他过程的调用。在VBScript中,有两类过程:Sub过程和Function过程。它们的区别就在于Sub过程只执行操作不返回值。 1)Sub过程 Sub过程是包含在Sub和End Sub语句之间的一组Vbscript语句,执行操作但不返回值,通常称为"子程序"。 格式: [Public|Private] Subname[(arglist)] ... EndSub

  19. 第二节 ASP默认脚本VBScript 其中,Public和Private是分别说明Sub过程的作用域,Public表示被所有脚本的其他过程访问,而Private则表示只被声明该过程的脚本中的其他过程访问。arglist表示在调用时要传递给Sub过程的参数的变量列表,用逗号隔开多个变量。 2)Function过程(函数) Function过程又称为Function函数或自定义函数。 格式: [Public|Private] Function name[(arglist)] ... name=表达式 EndFunction

  20. 第二节 ASP默认脚本VBScript 总之,不管是过程还是函数,都是为了完成一定网页功能,在调用时都使用call进行调用。 格式:call 函数名/过程名(参数列表)或 函数名/过程名(参数列表) 3)常用系统函数 数学运算函数: Sin返回正弦值 Cos返回余弦值 Atn返回正切值 Tan 返回反正切值 Abs返回绝对值 Exp返回e指定次幂 Log返回一个数值的自然对数

  21. 第二节 ASP默认脚本VBScript Sgn返回数的符号值 Sqr返回数的平方根 Int返回不大于给定数的最大整数 Fix返回数的整数部分 字符串函数 ltrim返回去除字符串左边空格 Rtrim返回去除字符串右边空格 Trim返回去除字符串左右边空格 left返回从左边数起指定个数的字符串 Right返回从右边数起指定个数的字符串 Mid返回从指定位置开始的指定数目的字符串

  22. 第二节 ASP默认脚本VBScript Instr返回字符串在给定的字符串中出现的开始位置 Space返回指定数目的空格字符串 String返回包含一个字符重复指定次数的字符串 Lcase返回小写字母组成的字符串 Ucase返回大写字母组成的字符串 len返回字符串的长度 日期与时间函数 Now返回系统日期和时间(yy-mm-dd hh:mm:ss) Date返回当前系统日期 (yy-mm-dd) Day返回月中第几天 (1-31)

  23. 第二节 ASP默认脚本VBScript WeekDay返回星期几 (1-7) Month返回月份 (1-12) Year返回年份 (yyyy) Hour返回小时 (0-23) Year返回年份 (yyyy) Minute返回分钟(0-59) Second返回秒钟(0-59) Time返回当前时间(hh:mm:ss) 随机数语句和函数 Randomize产生随机种子 Rnd产生0-1之间的随机数

  24. 第二节 ASP默认脚本VBScript 数据类型转换函数 Asc将数值字符串转为整数 Cbool将字符串转为布尔型 CLng将字符串转为长整型 CSng将字符串转为单精度实型 Cbyte将字符串转为二进制数 Ccur将字符串转为货币型 Cdate将字符转为日期型 CDbl将字符转为双精度实型 Cint将字符转为整型 CStr将数据转为字符串 Chr将数据转为字符

  25. 第二节 ASP默认脚本VBScript 测试函数 IsArray判断变量是否为数组 IsEmpty判别变量是否已初始化 IsNumeric判别表达式是否为数值 IsDate判别表达式是否为日期 Null判别表达式是否为空值 IsObject判别表达式是否引用对象

  26. 第三节ASP的对象 ASP的程序运行除了采用VBScript作为其默认脚本来进行程序流程的控制以外,还定义了一些的特有内置对象。在ASP中,脚本是为了完成程序功能,而对象是为了实现用户交互,其中交互包括ASP页面与客户端,以及ASP页面与服务器端的效互。 ASP中常用的内置对象有五种: Request对象、Response对象、Session对象、Application对象、Server对象。

  27. 第三节ASP的对象 1、Response对象 该对象主要是用于控制和管理发送到客户端浏览器上的数据,如客户端屏幕信息显示,用户浏览页面的重定向,缓冲区读写控制等。 1)Write方法: 格式:Response.Write(变量/字符串) 功能:在指定的区域内输出变量值或字符串。 res1.asp代码如下: <%Response.Write "你好,欢迎登录本站!现在时间是:"& Now() %> 或者 <%="你好,欢迎登录本站!现在时间是:"& Now()%>

  28. 第三节ASP的对象 2)Redirect方法: 格式:Response.Redirect "目标网页网址" 功能:实现自动跳转到另一个指定的网页,这也称为重定向。 res2.asp代码用来检验用户名和密码是否正确,选择跳转的网页: <% Dim Nm,Pw Nm=Request("UserName") Pw=Request("Password") If Nm="admin" And Pw="admin" then Response.Redirect("res21.asp")

  29. 第三节ASP的对象 Else Response.Redirect("res22.asp") End if %> 3)End方法: 格式:Response.End 功能: 结束处理页面的脚本,并反回当前已创建的内容,然后停止页面继续执行; res3.asp代码为: <% Dim Nm,Pw Nm=Request("UserName")

  30. 第三节ASP的对象 Pw=Request("Password") If Nm="" Or Pw="" then Response.Write"对不起,用户名和密码不能为空!" Response.End End if If Nm<>"admin" Or Pw<>"admin" then Response.Write"对不起,你输入的用户名和密码不正确!" Response.End End if Response.Redirect"res1.asp" %>

  31. 第三节ASP的对象 4)Buffer属性 格式: Response.Buffer=True Response.Buffer=False 功能: 当Buffer的值为True时将每行处理结果存入缓冲区后一次发送给浏览器,也是ASP环境中的默认设置,当Buffer的值为False时将每行处理结果直接发送给用户浏览器。

  32. 第三节ASP的对象 <%@LANGUAGE="VBSCRIPT"%> <% Response.Buffer=False %> <html> <head><title>asp对象response</title></head> <body> <% For i=1 to 1000 Response.Write(i&" ") for j=1 to 10000 j=j+1 Next if (i mod 30)=0 then Response.write("<br>") Next%> </body></html>

  33. 第三节ASP的对象 5)Flush方法和Clear方法 格式: Response.Flush Response.Clear 功能:Response.Flush将处理结果送给浏览器后继续向下执行,Response.Clear清除当前缓冲区已有的数据。 res5.asp代码如下: <% Response.Buffer=True%> <html><head><title>response对象</title></head> <body> <% Response.write("Response.Flush")

  34. 第三节ASP的对象 Response.Flush Response.write("不会输出的信息!") Response.Clear Response.write("<br>"&"Response.Clear") %></body></html> 2、 Request对象 该对象是用来读取用户浏览器上提交的表单信息。 1)Form集合 格式:Request.Form(element) 功能:使用Post方式获取用户提交表单信息。

  35. 第三节ASP的对象 req2.asp代码如下,用来接收用户提交的表单信息: <html> <head><title>Request对象</title></head> <body> <p>欢迎你登录本站: <p>你输入的信息是: <% Response.write("你的姓名是:"&Request.Form("xm")&"<br>") Response.write("你的密码是:"&Request.Form("mm")&"<br>") Response.write("你的性别是:"&Request.Form("xb")&"<br>") Response.write("你的爱好是:"&Request.Form("ah")&"<br>") Response.write("你的学历是:"&Request.Form("xl")&"<br>")

  36. 第三节ASP的对象 Response.write("你的个人描述是:"&Request.Form("ms")&"<br>") %> 请你核对是否正解,有误请<a href="req1.asp">返回</a>注册页面! </body></html> 2)QueryString集合 格式:Request.QueryString(variable) 功能:用于接收GET方法提交的表单数据,也可以检索Http查询字符串中的变量值。 以下为req3.asp的代码: <html> <head><title>Request对象</title></head>

  37. 第三节ASP的对象 <body> <a href=req31.asp?xx=江西蓝天学院瑶湖校区&amp; xb=经管系&amp;zy=电子商务> 显示信息</a> </body></html> 以下为req31.asp的代码: <html> <head><title>Request对象</title></head> <body> <p>基本信息:</p> <p>学校:<%=Request.QueryString("xx")%></p> <p>系别:<%=Request.QueryString("xb")%></p>

  38. 第三节ASP的对象 <p>专业:<%=Request.QueryString("zy")%> </p> </body></html> 3)Cookies集合 格式:Request.Cookies(variable) 功能:Cookies是可以在客户端长期保存访问某个网站的信息。 以下是req4.asp代码,用于统计客户登录网站的次数 <% dim num num=request.Cookies("num") if num="" then num=1 else num=num+1 response.write("欢迎你第"&Cstr(num)&"次访问本站")

  39. 第三节ASP的对象 response.Cookies("num")=num Response.cookies("num").Expires=date+365 %> 4)ServerVariables集合 格式:Request.ServerVariables(variable) 功能:用来获取客户主机的系统信息,如IP地址、操作系统、浏览器等信息。 以下为req5.asp代码,用来获取客户主机信息: <% Response.Write("来访用户信息:<BR>") dim userip userip=Request.ServerVariables("REMOTE_ADDR")

  40. 第三节ASP的对象 if userip<>""then Response.write"你的IP是:"& userip end if Response.write"你的端口号:" Response.write request.ServerVariables("SERVER_PORT") Response.write"你的浏览器和操作系统:" Response.write request.ServerVariables("HTTP_USER_AGENT") %> 3、Application对象 Application对象用于存储数据,并在给定应用程序(虚拟 目录)的所有用户之间共享信息。

  41. 第三节ASP的对象 Application对象主要用于:如,统计网站访问人数、广告 点击次数、聊天室、读取数据库中的数据等。 1)Application对象的集合和方法 (1)Contents集合 格式:Application.Contents("变量名")或Application("变量名") 功能:用来存储变量值,并在站内共享信息。 如以下app.asp源码: <% Application("say")="我们同学这个学期正在学习ASP技术开发网站!"%> <%=Application("say")%> 注:由于Application对象的共享,<%=Application("say")%>这个语句放在站内任何一个页面都可用。

  42. 第三节ASP的对象 (2)Lock和Unlock方法 格式:Application.Lock和Application.Unlock 功能:Application.Lock表示锁定状态,防止同一时间其他客户修改信息,Application.Unlock表示解锁,以便其他用户修改变量值。 以下是app11.asp的代码: <% dim counter counter=0 Application.Lock Application("counter")=Application("counter")+1 Application.Unlock %> 您是本站第<%=Application("counter")%>位来访者!

  43. 第三节ASP的对象 以下是app1.asp的代码: <html> <head><title>Application对象</title></head> <body> <% name=Request.Form("visitor") i=Request.Form("chatno") if name<>"" then Application.Lock() if i=0 then Application("chinese")=Application("chinese")+1 chat="中文" elseif i=1 then Application("english")=Application("english")+1 chat="英文" end if

  44. 第三节ASP的对象 Response.write"欢迎"&name&",您是到"&chat&"讨论区的第" Response.write Application.contents(i+1)&"位客人<p>" Response.write"<a href=app1.asp>返回</a>" Application.unlock Response.End end if %> <form method=post> <table><tr><td>呢称:</td><td> <input type=text name="visitor"size=12></td></tr> <tr><td>讨论区:</td><td><select name="chatno"> <option value=0>中文</option> <option value=1>英文</option> </select></td></tr> </table><input type=submit value="进入"></form> </body></html>

  45. 第三节ASP的对象 2) Application对象的事件 Application_OnStart和Application_OnEnd事件过程只能 在Global.asa文件中创建。 Global.asa文件是最先执行,在站点内用来完成一些程序 的初始化工作,通常把该文件放在站点的根目录下。 Application_OnStart表示网页打开时触发的事件 Application_OnEnd表示网页结束时触发的事件 以下为app2.asp的代码: <html><head> <title>统计在线人数</title></head> <body>当前网站在线人数:<%=Application("Online")%>人</body> </html>

  46. 第三节ASP的对象 以下为Global.asa代码: <SCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVER> SUB Application_OnStart Application.Lock Application("Online")=0 Application.UnLock END SUB SUB Session_OnStart Application.Lock Application("Online")=Application("Online")+1 Application.UnLock END SUB SUB Session_OnEnd Application.Lock

  47. 第三节ASP的对象 Application("Online")=Application("Online")-1 Application.UnLock END SUB </SCRIPT> 4、Session对象 Session对象用来存储每位用户会话所需的信息,实现身份认证和权限管理。 1)session对象的Contents集合 格式:Session.Contents("变量名")或Seesion("变量名") 功能:通常用于调用变量信息。 2)Session对象的属性 (1)SessionID属性 格式:Session.SessionID 功能:用于返回服务器分给用户的唯一标识号ID。

  48. 第三节ASP的对象 如:<%=Session.SessionID%> (2)TimeOut属性 格式:Session.TimeOut=分钟 功能:设置一个登录ASP应用程序用户,在该页面没有进行任何 操作的最多停留时间,超时后自动中断连接。 如:<% Session.TimeOut=20 %> (3)LCID属性 格式:Session.LCID=区域码 功能:用来设置动态文本内容显示时所使用的格式,如时间、日期、数字、货币等。 如国际标准码:<% Session.LCID=1033 %>

  49. 第三节ASP的对象 (4)CodePage属性 格式:Session.CodePage=区域码 功能:用来设置ASP应用程序所使用的字库。 如汉字国际字库:<%Session.CodePage=936%> 3)Session对象的方法 (1)Abandon 格式:Session.Abandon 功能:包含该语句的网页执行结束后,用来清除所有Session信息。 如:ses11.asp源码:

  50. 第三节ASP的对象 <% Session("xm")="江西蓝天学院" Session.Abandon %> <%=Session("xm")%> 注意: <%=Session("xm")%>遇到Session.Abandon表示删除 session变量,其他页面就不能使用了。 (2)Contents.Remove(item) 格式:Session.Contents.Remove(item) 功能:删除contents指定的变量。

More Related