版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Asp内置对象ASP的特点是面向对象编程,它提供了功能强大的内部对象。其中常用的对象有:RequestResponseSessionApplicationServer
Asp内置对象ASP的特点是面向对象编程,它提供了功能强大的Request对象
Request对象有5种方法可用来获取客户端的信息(由客户端发出的HTTP请求报文)获取方法功能Form取得客户端以post方式提交的表单信息QueryString取得客户端以get方式提交的表单信息或URL后携带的信息ServerVariables取得服务器端或客户端的环境变量信息Cookies取得客户端浏览器的Cookies信息ClientCertificate取得客户端浏览器的身份验证信息Request对象Request对象有5种方法可用来获取客Request对象(2)Request.获取方法(变量名或字符串)其中的参数就是要得到的信息的变量名称。如果不想加入获取方法,也可以简写为Request(参数)方式,ASP同样可以帮你取得客户端的信息。因为没有指定获取方法,所以ASP将会依次在QueryString、Form、Cookies、ServerVariables、ClientCertificate这5种获取方法中检查是否有信息传入,如果有则会返回获得的变量信息。
(1)这里的“获取方法”更准确的说应该是“数据集合”,因为获取到的信息其实都在一个集合中。在这里之所以说是“获取方法”主要是强调从客户端获得信息这个功能。数据集合FormQuerystringClientCertificateCookiesServerVariablesRequestRequest对象(2)Request.获取方法(变量名或Form方法获取post方式提交的表单信息语法格式:Request.form(“表单元素名称”)
例:(4-1.asp4-2.asp)Form方法获取post方式提交的表单信息语法格式:RequForm方法获取post方式提交的表单信息……<body><formname="test"method="post"action="4-2.asp">……</form></body>……注意:1.checkbox或radio命名为相同时,表示为同一组Form方法获取post方式提交的表单信息……注意:Form方法获取post方式提交的表单信息……<%Dimuser_name,user_password,sex,hobby,career,describe user_name=Request.Form("user_name") user_password=Request.Form("user_password") sex=Request.Form("sex") career=Request.Form("career") hobby=Request.Form("hobby") describe=Request.Form("describe")…… %>……Form方法获取post方式提交的表单信息……Form方法获取post方式提交的表单信息注意:1.checkbox或radio命名为相同时,表示为同一组2.获取多项选择表单元素值的方法:方法一:Request.Form(“表单元素名”)--多个值之间自动以逗号隔开方法二:num=request.form("hobby").count'记下选择了多少项fori=1tonum'写出选择的每一项Response.Writerequest.form("hobby")(i)nextForm方法获取post方式提交的表单信息注意:Form方法获取post方式提交的表单信息2.获取多项选择表单元素值的方法:方法三:foreachiteminrequest.form("hobby") Response.Writeitem&"/"'写出选择的每一项nextForm方法获取post方式提交的表单信息2.获取多项选择表Form方法获取post方式提交的表单信息服务端获取表单元素值和客户端获取表单元素值的方法不同Form方法获取post方式提交的表单信息服务端获取表单元素Form方法获取post方式提交的表单信息注意点:(1)4-1.asp那是一个简单的HTML文件,并没有使用ASP语句,完全可以将名字改为4-1.htm。注意:Form对象和其元素属性的设置。如action、method、type等。(2)在4-2.asp中定义了几个变量,变量名字和表单中的元素名字可以相同,也可以不同。主要是为了程序易读,可以不一样。
(3)4-1.asp文档中的form表单和4-2.asp中Request.Form中的form方法有什么区别?前者是html文档或ASP文档提供的表单,后者是应用ASP的Request对象获取html文档或ASP文档中的表单信息的方法。
Form方法获取post方式提交的表单信息注意点:(1)4-Form方法获取post方式提交的表单信息ASP文件内的表单信息可以传给自身。见4-3.aspForm方法获取post方式提交的表单信息ASP文件内的表单Form方法获取post方式提交的表单信息注意点:(1)程序中的<%IfRequest.Form(“keywords”)<>“”Then%>这个判断语句非常重要,如果没有输入查询关键字,则不执行操作,只有输入查询信息才处理if中的语句。(3)比较一下两种表单信息传送方式有什么不同?表单form的action对象不同;处理表单信息的位置不同。如:当用户打开这个网页时,request.form(“”)得到的结果为空,所以不执行asp代码。因为打开时网页的form1没有把其内容传递给自己。只有通过提交方式提交了才能获得里面元素的值。Form方法获取post方式提交的表单信息注意点:(1)程序Querystring获取方法Querystring方法可以获取get方式提交的表单信息,也可以获取URL后携带的参数信息。
Querystring获取方法Querystring方Querystring方法获取get方式提交的表单信息语法格式:Request.querystring(“表单元素名称”)
例:(4-1_1.asp4-2_2.asp)Querystring方法获取get方式提交的表单信息语法格Querystring方法获取get方式提交的表单信息……<body><formname="test"method=“get"action="4-2_2.asp">……</form></body>……Querystring方法获取get方式提交的表单信息……Querystring方法获取get方式提交的表单信息……<%Dimuser_name,user_password,sex,hobby,career,describe user_name=Request.querystring("user_name") user_password=Request.querystring("user_password") sex=Request.querystring("sex") career=Request.querystring("career") hobby=Request.querystring("hobby") describe=Request.querystring("describe")…… %>……Querystring方法获取get方式提交的表单信息……Querystring方法获取get方式提交的表单信息注意:1.get方式提交的表单信息是非安全方式,附加在URL地址后面url?表单元素1的name=表单元素1的value&表单元素2的name=表单元素2的valueQuerystring方法获取get方式提交的表单信息注意:Querystring方法获取URL携带参数信息<html><head> <title>QueryString用法示例</title></head><body> <p>请单击下面的超链接</p>
<ahref="4-7.asp?name=白芸&age=22">显示</a></body></html>4-4_1.aspQuerystring方法获取URL携带参数信息<htmlQuerystring方法获取URL携带参数信息……<body><%Dimname,agename=Request.QueryString("name")'返回姓名age=Request.QueryString("age")'返回年龄Response.Write"您的姓名是:"&name&",您的年龄是:"&age%></body>……Querystring方法获取URL携带参数信息……Querystring方法获取URL携带参数信息语法:request.querystring(参数关键字)形式类似于Querystring方法获取get方式提交的表单信息,只是这里的参数关键字是自定义的,不是表单元素名Querystring方法获取URL携带参数信息语法:reQuerystring方法获取URL携带参数信息URL后传送的信息如果是变量,不是常数,该怎么表示?
Querystring方法获取URL携带参数信息URL后传Querystring方法获取URL携带参数信息<body><p>请单击下面的超链接</p><% dimname,age name="白芸" age=22 %><ahref="4-7.asp?name=<%=name%>&age=<%=age%>">显示</a></body>4-4-2.aspQuerystring方法获取URL携带参数信息<bodyQuerystring方法获取URL携带参数信息注意:URL后携带的都是字符串信息,不用加引号Querystring方法获取URL携带参数信息注意:Querystring方法获取URL携带参数信息应用:图片展4-6-1.asp和4-6-2.asp类似的还有新闻系统,论坛帖子Querystring方法获取URL携带参数信息应用:类似ServerVariables获取方法有时候希望知道服务器端或客户端的信息,如客户端的IP地址,这时我们可以用ServerVariables方法。课本60页表格4-5列举了常用的环境变量。ServerVariables的语法格式:Request.ServerVariables(“环境变量名”)ServerVariables获取方法有时候希望知道服务器端ServerVariables获取方法例子:4-7.asp……<body> <% DimIP IP=Request.ServerVariables("REMOTE_ADDR")
Response.Write"来访者IP地址是:"&IP&"<br>" Dimlocal_IP local_IP=Request.ServerVariables("Local_ADDR")
Response.Write"服务器的IP地址是:"&local_IP %></body>……ServerVariables获取方法例子:4-7.aspResponse对象Response对象可以向客户端输出信息,他的方法有:
方法说明write送出信息到客户端redirect引导用户端的浏览器至新的Web页面end终止处理ASP程序,并返回当时的状况flush立刻送出缓冲区的Html数据clear消除缓冲区中的所有Html页面BinaryWrite输出二进制信息Response对象Response对象可以向客户端输出信息Write方法write方法是Response对象最普遍、最常用的方法,它直接把信息从服务端送到客户端,从而实现动态内容的显示。语法格式:Response.write字符串或变量或常量Write方法write方法是ResponsWrite方法……<%user_name=“G_Jocky” Response.Write"你的密码是:" Response.Writeuser_name Response.Write“你的姓名是:"&user_name %>……4-8.aspWrite方法……4-8.aspWrite方法注意:(1)Response.write必须在<%%>内,不能在客户端运行。(2)Response.write=<%=%>,如例子4-9.asp。区别:但在<%%>内可有多个Response.write操作而=只能有一个。Write方法注意:区别:Write方法Write方法还可以用来输出HTML元素
<bodybgcolor="#FFFFFF"text="#000000"><%
response.write"<divalign='center'>比较Write方法输出Html元素</div>"%></body><bodybgcolor="#FFFFFF"text="#000000"><divalign="center">比较Write方法输出Html元素</div></body>4-10.aspand4-11.aspWrite方法Write方法还可以用来输出HTML元素<bWrite方法注意:(1)HTML代码中的双引号要改成单引号。(2)在开发ASP程序时,如果遇到不方便进行ASP语句和HTML元素之间的切换时,可以用Write方法来输出HTML元素。Write方法注意:Redirect方法在普通网页中,可以利用超链接引导客户至另一个页面,但是必须要客户单击超链接才行。可是有时希望自动引导客户至另一个页面,比如:进行网上考试时,当考试时间到时,应自动引导客户端至结束界面。在ASP中,可使用Redirect方法引导客户至另一个页面。
语法格式为:Response.redirect网址变量或网址字符串
Redirect方法在普通网页中,可以利用超链接引导客Redirect方法<% IfRequest.Form("adrress")="csdn"then ‘将用户引至程序大本营网站
Response.Redirect""
ElseIfRequest.Form("adrress")="book"then ‘将用户引至网络书城
Response.Redirect""
EndIf%>4-12.aspRedirect方法<% IfRequest.Form(Redirect方法注意:
(2)如果希望在ASP文件的任意地方使用Redirect语句,那就必须在ASP文件的开头加上<%Response.Buffer=True%>这一句话。否则,Redirct语句必须放到ASP文件的开头,如果不放到ASP文件的开头,网页执行会出错:HTTP头已经写入到客户浏览器。任何HTTP头的修改必须在写入页内容之前。(1)Redirct语句中网址的写法,可以是相对地址,也可以是绝对地址。
Redirect方法注意:(2)如果希望在ASP文件的任意Buffer属性Buffer属性用来设置服务器端是否将页面输出到缓冲区,它的值为True或False。当Buffer为True时,服务器端先输出至缓冲区,在输出至缓冲区时,服务器端不响应客户端,除非所有的服务器瑞文件被处理完毕。当Buffer为False时,服务器端直接将页面输出至客户端浏览器。
如果在ASP文件中任意地方用到Redirect方法重定向页面,则必须在文件开头加<%Response.Buffer=True%>这一句话,否则就会报错。这是因为:在默认状况下,服务器端直接将页面输出至客户端,当输出HTML元素后,又想将网页引导到另一个页面,这是不允许的,而令Buffer等于True后,将把页面输出到缓冲区,在缓冲区不存在这个问题,可以随时将网页引导至其他页面。
Buffer属性Buffer属性用来设置服务器端End方法End方法用来终止ASP程序的执行。当ASP程序中遇到response.end语句后,则终止程序执行(包括asp程序和html代码)。
<body> <% Response.Write"这是第一句"
Response.End
Response.Write"这是第二句" %> <p>这是第三句</body>4-13.aspEnd方法End方法用来终止ASP程序的执行。当ASPCookies的设置和读取Cookies是服务器嵌入用户浏览器中来标识用户的一种方法。在需要时,服务器可以从浏览器得到Cookies以供使用。Cookies有两种形式:一种是会话cookies,另一种是永久cookies。前者只在用户和服务器会话期间存在于用户的硬盘上,后者则在定义的有效期内永久地存在于用户的硬盘上。Cookies变量可以实现网站的各页面之间共享这些信息。ASP的Cookies是由response对象的Cookies方法来设置的,由Request对象的Cookies方法获取。Cookies的设置和读取Cookies是服务器嵌Cookies的设置语法格式:response.Cookies(“CookiesName”)=取值response.Cookies(“CookiesName”)(“关键字”)=取值response.Cookies(“CookiesName”)[(“关键字”)].属性=取值CookiesName:Cookies变量名称
关键字:若指定了关键字该Cookies则表示一个集合,它可包含几个关键字,可以分别赋值
属性:Cookies的属性,Cookies变量本身有一些属性,其中有些属性是仅可写入的,有些是只读的。可设置的属性有:expires,path,Domain,SecureCookies的设置语法格式:CookiesName:CCookies的设置<%response.Cookies(“user_name”)=request.form(“user_name”)%>
举例:<%response.Cookies(“user”)(“name”)=request.form(“user_name”)
response.Cookies(“user”)(“sex”)=request.form(“user_sex”)
response.Cookies(“user”)(“hobby”)=request.form(“user_hobby”)……%><%response.Cookies(“user”).expires=#2006-5-1#%>
Cookies的设置<%举例:<%response.Cookies的设置注意:(1)设置Cookies时,如果该Cookies已经存在,则覆盖原来的Cookies;如果不存在则创建一个。(2)想在ASP文件任何地方使用用response.Cookies方法设置Cookies变量,必须保证response.Buffer=true.
(3)防止不同站点设置的Cookies名一样而发生覆盖,则可在程序中设置cookies变量的作用域(如domain、path属性)Cookies的设置注意:读取Cookies语法格式:Request.Cookies(“CookiesName”)[(关键字)]
读取不包含关键字的Cookies<%response.Cookies(“user_name”)=request.form(“user_name”)response.writerequest.Cookies(“user_name”)
%>读取Cookies语法格式:读取不包含关键字的Cookie读取Cookies语法格式:Request.Cookies(“CookiesName”)[(关键字)]
读取包含关键字的Cookies<%response.Cookies(“user”)(“name”)=request.form(“user_name”)response.Cookies(“user”)(“sex”)=request.form(“user_sex”)response.Cookies(“user”)(“hobby”)=request.form(“user_hobby”)response.writerequest.Cookies(“user”)(“name”)response.writerequest.Cookies(“user”)(“sex”)response.writerequest.Cookies(“user”)(“hobby”)%>读取Cookies语法格式:读取包含关键字的Cookies读取Cookies语法格式:Request.Cookies(“CookiesName”)[(关键字)]
.属性读取Cookies变量的HasKeys属性:<%‘读取是否有关键字response.writerequest.Cookies(“user”).haskeys%>属性:Cookies变量本身有一个只读属性:haskeys读取Cookies语法格式:读取Cookies变量的Has读取Cookies思考:request.Cookies方法读取一个不存在的Cookies时,会出现什么状况?
读取Cookies思考:Cookies的设置和读取注意:Cookies变量的expires属性设置影响着cookies变量的存活期,如果expires属性为过去的一个时期,则是会话型的,如果不设置expires属性或为以后的一个时间,则是永久性的。Cookies的设置和读取注意:Cookies变量的expiCookies的特点1.Cookies保存在用户的机子上,不是在服务器上,进行了简单的加密。2.Cookies的值为最近一次上网时修改后的值不同的用户在同一台电脑上网时,Cookies不会辨别用户的身份,从而暴露其他客户的隐私。所以设置cookies一定要谨慎。cookies一般用于保存非重要的信息,供网站中文件共享。Cookies的特点1.Cookies保存在用户的机子上,Cookies的删除IE属性设置中“删除Cookies”Cookies的删除IE属性设置中“删除Cookies”Session和Application对象我们在访问一个网站的时候,经常要由一个网页跳转到另一个网页,在由一个网页跳转到另一个网页时,经常需要共享一些信息。回顾:我们前面学了哪些方法可以帮我们实现这一功能?Form;URL后携带信息;Cookies;Session和Application对象我们在访问Session和Application对象1.利用session对象记载每个用户各自的信息2.利用Application对象记载所有客户共享的信息3.Global.asa的编写
Session和Application对象1.利用sessi一、Session对象大家都有过登陆论坛、聊天室的经历,在我们登陆后,系统需要记住我们的用户名,呢称等信息,以便在我们发表言论时使用。这是怎么实现的呢?我们的网络程序设计者往往会采用Session对象。Session对象是用来记载特定用户的信息的。这些信息在会话期间,网站的任何一个网页都可以共享这些信息。强调一点:多客户访问同一网站时,不同用户有他们自己的Session变量信息,相互之间不存在干扰和泄密的。浏览器浏览器Session对象Session对象…………服务器一、Session对象大家都有过登陆论坛、聊天室的经一、Session对象Session对象的属性有:SessionID和TimeOutSession对象的方法有:AbandonSession对象的事件有:Session_OnStart和Session_Onend.一、Session对象Session对象的属性有:Sessi一、Session对象1.SessionID浏览器Session变量及值Sess+sessionID文件服务器申请生成session返回sessionIDCookies(“ASPsession”)一、Session对象1.SessionID浏览器Ses一、Session对象1.SessionIDsession利用会话型cookie的身份标志功能,将用户在浏览网站时需要保存的信息保存在服务器上。这样session既克服了http协议的缺陷,又防止了信息的泄漏,而且方便了编程者的使用,是一个非常好的解决方案。
读取sessionID值语法为:<%response.writesession.sessionID%>一、Session对象1.SessionID一、Session对象2.TimeOut属性
TimeOut属性为session对象的的有效期。网站中session对象的有效期默认为20分钟。也就是说用户在20分钟内不刷新网页或不向服务器发出请求,session对象会自动结束。注意:修改的值必须大于20分钟,否则仍默认为20分钟。读取或修改session对象TimeOut属性的语法为:n=session.timeout
‘读取session.timeout=整数(分钟)
‘修改举例:<%session.timeout=30%>
一、Session对象2.TimeOut属性TimeO一、Session对象2.TimeOut属性
session对象的TimeOut属性也可以在服务器的IIS的站点属性中修改。一、Session对象2.TimeOut属性sessi一、Session对象3.Abandon方法
Abandon方法用于释放Web服务器用于保存某个用户会话信息的存储空间。但是,这个方法并不影响其他用户的会话信息。如果用户未调用Abandon方法,那么该会话信息也会在Timeout属性设定的时间之后,由服务器自动删除。
Abandon方法的使用语法:Session.Abandon
一、Session对象3.Abandon方法Ab一、Session对象4.建立和使用Session对象的变量
(1)建立和改变Session值的方法:
Session("变量名")=表达式(2)引用Session值的方法(可用于赋值或直接输出):
Session(“变量名”)
一、Session对象4.建立和使用Session对象的变量一、Session对象<%Dimuser_name,ageuser_name="卓云"age=22
Session("user_name")=user_name
'给Session赋值
Session("age")=age%> 一、Session对象<%一、Session对象<%Dimuser_name
user_name=Session("user_name")
'将Session值赋给变量Response.Writeuser_name&"您好,欢迎您<br>"
Response.Write"您的年龄是"&Session("age")
'直接使用Session值%>一、Session对象<%一、Session对象<%Dimuser_name
session.Abandonuser_name=Session("user_name") Response.Writeuser_name&"您好,欢迎您<br>"Response.Write"您的年龄是"&Session("age")%>(应用session对象abandon)一、Session对象<%(应用session对象aband一、Session对象思考:
如果session对象的某个变量不存在或session对象已经被释放,读取session(“xxx”)=?
一、Session对象思考:二、Application对象Application和session对象刚好相反,它是用来存储所有用户之间的共同信息。比如聊天室里,每个人的发言都能被看到,这就是由Application对象实现的。浏览器浏览器Application对象……服务器二、Application对象Application和ses二、Application对象Application对象的生命周期为从服务器打开到关闭。Application的方法:Lock和UnlockApplication的事件:Application_OnStart和Application_OnEnd二、Application对象Application对象的二、Application对象1.建立和改变Application变量值语法:Application(“变量名”)=表达式二、Application对象1.建立和改变Applicat二、Application对象<%application.Lock()ifapplication("visitor")=""then
application("visitor")=1
else
application("visitor")=application("visitor")+1endifapplication.UnLock()%>二、Application对象<%二、Application对象<%dimallvisitorallvisitor=application("visitor")%>二、Application对象Session变量和Application变量的比较3.
练习从生命周期、作用范围、工作原理、应用场合等方面概括Session对象和Application对象的相似之处和不同之处
Session变量和Application变量的比较3.练Session变量和Application变量的比较相同之处:对象中的变量都可以进行存取,都有生命周期和作用域;不同之处:Session对象Application对象生命周期从用户登陆到退出该网站从服务器开启到关闭作用范围每个用户有一个单独的Session对象所有用户公用一个Application对象工作原理每个登录用户都有一个相应的Sess+sessID文件存在于服务器上。Application文件存在于服务器上,只有一个。应用场合记录单个用户的信息,如:身份密码、个人喜好等。记录所有用户的公共信息,如:主页访问记数器、公共讨论区的信息等Session变量和Application变量的比较相同之处Session变量和cookies变量的比较Cookies变量保存在客户端硬盘上,不同用户可共享同一网站的cookies变量,不安全,容易泄密。有效期可以是会话型的也可以永久。Session变量的保存在服务端,不同用户有各自的session变量,安全,不会泄密。有效期是会话型的。Session变量和cookies变量的比较Cookies变三、Global.asa文件
Global.asa文件是用来定义Session、Application对象事件所对应的程序的。当Session或Application第一次被调用或结束时,将运行该文件中对应的程序。三、Global.asa文件Global三、Global.asa文件
<Scriptlanguage=“VBScript”runat=“server”>SubApplication_OnStart‘Application对象开始程序EndSubSubApplication_OnEnd‘Application对象结束程序EndSubSubSession_OnStart‘Session对象开始程序EndSubSubSession_OnEnd‘Session对象开始程序EndSub</Script>语法三、Global.asa文件<Scriptlangua三、Global.asa文件
注意:
(1)每个应用程序,即每个网站只能有一个Global.asa文件,且必须是命名为Global.asa,且必须存放在应用程序的根目录下。(2)语法格式必须是<Scriptlanguage=“VBScript”runat=“server”>……</Script>。(3)由于Global.asa文件只是被调用,不会显示在页面上,所以Global.asa文件中不能有任何输出语句。(4)对于一个应用程序,可以有Global.asa文件,也可以没有Global.asa文件,有Global.asa文件时,可以同时包含上述4个事件,也可以只包含其中的几个事件。(5)编写Global.asa文件时,可以调用文本编辑软件,存为Global.asa即可。三、Global.asa文件注意:(1)每个应用程序,三、Global.asa文件
比较:Global.asa中设置:SubSession_OnStartApplication.LockApplication("visitor")=Application("visitor")+1Application.UnlockEndSub页面程序中设置:<%iftrim(request.form("name"))<>""then application.Lock() ifapplication("visitor")=""then application("visitor")=1 else application("visitor")=application("visitor")+1 endif application.unLock()endif%>三、Global.asa文件比较:三、Global.asa文件比较结果:只要有用户访问该站点下任何一网页则会执行该程序。相反,在页面程序中设置该段程序则在用户访问该网页三、Global.asa文件比较结果:三、Global.asa文件
比较:Global.asa中设置:SubSession_OnEndApplication.LockApplication("visitor")=Application("visitor")-1Application.UnlockEndSub页面程序中设置:<%iftrim(request("goout"))<>""thenapplication.lockapplication("visitor")=application("visitor")-1application.unlockresponse.Write"<scriptlanguage='vbscript'>window.top.close()</script>"endif%>三、Global.asa文件比较:三、Global.asa文件比较结果:Global.asa中设置:用户退出该站点达到session变量的timeout时限后或session.Abandon()后自动执行该程序段。页面程序中设置:该段程序则在用户访问该网页时执行,但session变量在timeout时限达到后或使用session.Abandon()后自动取消
三、Global.asa文件比较结果:Server对象学习内容:Server对象的属性和方法,特别是:HTMLencode方法和Mappath方法。Server对象学习内容:Server对象的一、server对象的属性和方法一、server对象的属性和方法二、ScriptTimeOut属性的应用和前面的session.timeout很相似,ScriptTimeOut是设置服务器执行网站中某一网页脚本的最长时间。如果脚本程序在设定的时间值范围内没有执行完毕,将自动停止执行。它的默认值是90秒,程序员可以根据程序的复杂程度重新设置这个值,但不能低于90秒。如:<%Server.ScriptTimeOut=150%>二、ScriptTimeOut属性的应用和前面的se三、CreateObject方法的应用语法格式:Set实例名=server.CreateObject(ActiveXserver组件)
server.CreateObject方法主要用于创建ActiveX组件、应用程序或脚本对象的实例。组件可以是各种形式的可执行程序(DLL、EXE等),不必考虑它的位置,只要在WindowsNT(或98)中登记注册了这些程序,COM就会在系统注册表(Registry)里维护这些资料,让程序员调用。三、CreateObject方法的应用语法格式:Set实三、CreateObject方法的应用使用ActiveX服务器组件能扩展ASP的功能,实现一些仅依赖脚本语言所无法实现的功能,使得ASP具有更强大的生命力,ActiveXserver组件包括数据库存取、文件存取等组件。作用:举例:<%setmyconn=Server.CreateObject("ADODB.Connection")%>三、CreateObject方法的应用使用Activ三、CreateObject方法的应用注意:
(1)CreateObject方法仅能用来创建外置对象实例,不能用来创建系统的内建对象实例,如下列语句是错误的。<%seta=Server.CreateObject("Application")%>(2)若想在其他页面中也可使用已创建好的对象实例,可将对象实例存储在Session对象或Application对象中。如
<%setsession("conn")=Server.CreateObject("ADODB.Connection")%>三、CreateObject方法的应用注意:(1)Cr四、HTMLEncode方法的应用浏览器对HTML标记字符是进行解释执行的。如果有时候希望显示某个HTML页面中涉及到的实际HTML代码或ASP脚本,就必须使用Server对象的HTMLEncode方法,把HTML标记转化为转义字符再发送到浏览器。
语法格式为:Server.HTMLEncode(string)举例:6-1.aspResponse.write“<fontsize=‘5’>youarewelcome!</font>”期望在网页上写出:
<fontsize=‘5’>youarewelcome!</font>四、HTMLEncode方法的应用浏览器对HTML四、HTMLEncode方法的应用<%Response.Write"<ahref=''>搜狐</a>"'输出一个换行符Response.Write"<br>"Response.Write
Server.HTMLEncode("<ahref=''>搜狐</a>")%>四、HTMLEncode方法的应用<%六、MapPath方法的应用在网站设计中,我们通常使用虚拟路径(相对路径或绝对路径)。但数据库文件操作或其他文件就必须使用物理路径(真实路径),MapPath方法就是将指定的虚拟路径映射到物理路径的方法。
语法格式为:Server.MapPath(虚拟路径字符串)举例:6-2.asp六、MapPath方法的应用在网站设计中,我们通常六、MapPath方法的应用(1)在具体应用中,如果需要用到物理路径,可以直接写,也可以用MapPath方法转换。
(2)MapPath方法通常用于数据库文件操作、文件上传等操作中。说明六、MapPath方法的应用(1)在具体应用中,如果需要用到七、Execute方法的应用Server.Execute方法允许当前的ASPX页面执行同一Web服务器上的指定的ASPX页面,当指定的ASPX页面执行完毕,控制流程重新返回原页面发出Server.Execute调用的位置。这种页面导航方式类似于针对ASPX页面的一次函数调用。语法格式:
Server.Execute(变量或字符串)举例:6-3.asp和6-4.asp
七、Execute方法的应用Server.Exe七、Execute方法的应用<body>欢迎光临我的主页<%
server.Execute("6-4.asp")%><p>谢谢,再见</body>6-3.asp<body><p>敬请提出宝贵意见</body>6-4.asp七、Execute方法的应用<body>6-3.asp<bo八、Transfer方法的应用
Server.Transfer方法与Server.Execute方法很相似,只是执行完新网页后不返回原网页。语法格式:Server.Transfer(字符串或变量)举例:6-5.asp和6-4.asp八、Transfer方法的应用Server.八、Transfer方法的应用<body>欢迎光临我的主页<%
server.transfer("6-4.asp")%><p>谢谢,再见</body>6-5.asp<body><p>敬请提出宝贵意见</body>6-4.asp八、Transfer方法的应用<body>6-5.asp<b课后思考比较异同Response.redirectServer.ExecuteServer.Transfer课后思考比较异同补充知识指由这个文件所在的路径引起的跟其它文件(或文件夹)的路径关系。使用相对路径可以为我们带来非常多的便利,特别是提高程序的移植性。在www中(广域网),以http开头的链接都是绝对路径。指的是某一台计算机本地的路径,以盘符开头,例如C:\、D:\temp等等。ASP的数据库连接中,只能连接物理路径,而不能连接虚拟路径,所以需要用server.mappath对象把相对路径转化成物理路径。相对路径:绝对路径:物理路径:补充知识指由这个文件所在的路径引起的跟其它文件(或文件夹)的Asp内置对象ASP的特点是面向对象编程,它提供了功能强大的内部对象。其中常用的对象有:RequestResponseSessionApplicationServer
Asp内置对象ASP的特点是面向对象编程,它提供了功能强大的Request对象
Request对象有5种方法可用来获取客户端的信息(由客户端发出的HTTP请求报文)获取方法功能Form取得客户端以post方式提交的表单信息QueryString取得客户端以get方式提交的表单信息或URL后携带的信息ServerVariables取得服务器端或客户端的环境变量信息Cookies取得客户端浏览器的Cookies信息ClientCertificate取得客户端浏览器的身份验证信息Request对象Request对象有5种方法可用来获取客Request对象(2)Request.获取方法(变量名或字符串)其中的参数就是要得到的信息的变量名称。如果不想加入获取方法,也可以简写为Request(参数)方式,ASP同样可以帮你取得客户端的信息。因为没有指定获取方法,所以ASP将会依次在QueryString、Form、Cookies、ServerVariables、ClientCertificate这5种获取方法中检查是否有信息传入,如果有则会返回获得的变量信息。
(1)这里的“获取方法”更准确的说应该是“数据集合”,因为获取到的信息其实都在一个集合中。在这里之所以说是“获取方法”主要是强调从客户端获得信息这个功能。数据集合FormQuerystringClientCertificateCookiesServerVariablesRequestRequest对象(2)Request.获取方法(变量名或Form方法获取post方式提交的表单信息语法格式:Request.form(“表单元素名称”)
例:(4-1.asp4-2.asp)Form方法获取post方式提交的表单信息语法格式:RequForm方法获取post方式提交的表单信息……<body><formname="test"method="post"action="4-2.asp">……</form></body>……注意:1.checkbox或radio命名为相同时,表示为同一组Form方法获取post方式提交的表单信息……注意:Form方法获取post方式提交的表单信息……<%Dimuser_name,user_password,sex,hobby,career,describe user_name=Request.Form("user_name") user_password=Request.Form("user_password") sex=Request.Form("sex") career=Request.Form("career") hobby=Request.Form("hobby") describe=Request.Form("describe")…… %>……Form方法获取post方式提交的表单信息……Form方法获取post方式提交的表单信息注意:1.checkbox或radio命名为相同时,表示为同一组2.获取多项选择表单元素值的方法:方法一:Request.Form(“表单元素名”)--多个值之间自动以逗号隔开方法二:num=request.form("hobby").count'记下选择了多少项fori=1tonum'写出选择的每一项Response.Writerequest.form("hobby")(i)nextForm方法获取post方式提交的表单信息注意:Form方法获取post方式提交的表单信息2.获取多项选择表单元素值的方法:方法三:foreachiteminrequest.form("hobby") Response.Writeitem&"/"'写出选择的每一项nextForm方法获取post方式提交的表单信息2.获取多项选择表Form方法获取post方式提交的表单信息服务端获取表单元素值和客户端获取表单元素值的方法不同Form方法获取post方式提交的表单信息服务端获取表单元素Form方法获取post方式提交的表单信息注意点:(1)4-1.asp那是一个简单的HTML文件,并没有使用ASP语句,完全可以将名字改为4-1.htm。注意:Form对象和其元素属性的设置。如action、method、type等。(2)在4-2.asp中定义了几个变量,变量名字和表单中的元素名字可以相同,也可以不同。主要是为了程序易读,可以不一样。
(3)4-1.asp文档中的form表单和4-2.asp中Request.Form中的form方法有什么区别?前者是html文档或ASP文档提供的表单,后者是应用ASP的Request对象获取html文档或ASP文档中的表单信息的方法。
Form方法获取post方式提交的表单信息注意点:(1)4-Form方法获取post方式提交的表单信息ASP文件内的表单信息可以传给自身。见4-3.aspForm方法获取post方式提交的表单信息ASP文件内的表单Form方法获取post方式提交的表单信息注意点:(1)程序中的<%IfRequest.Form(“keywords”)<>“”Then%>这个判断语句非常重要,如果没有输入查询关键字,则不执行操作,只有输入查询信息才处理if中的语句。(3)比较一下两种表单信息传送方式有什么不同?表单form的action对象不同;处理表单信息的位置不同。如:当用户打开这个网页时,request.form(“”)得到的结果为空,所以不执行asp代码。因为打开时网页的form1没有把其内容传递给自己。只有通过提交方式提交了才能获得里面元素的值。Form方法获取post方式提交的表单信息注意点:(1)程序Querystring获取方法Querystring方法可以获取get方式提交的表单信息,也可以获取URL后携带的参数信息。
Querystring获取方法Querystring方Querystring方法获取get方式提交的表单信息语法格式:Request.querystring(“表单元素名称”)
例:(4-1_1.asp4-2_2.asp)Querystring方法获取get方式提交的表单信息语法格Querystring方法获取get方式提交的表单信息……<body><formname="test"method=“get"action="4-2_2.asp">……</form></body>……Querystring方法获取get方式提交的表单信息……Querystring方法获取get方式提交的表单信息……<%Dimuser_name,user_password,sex,hobby,career,describe user_name=Request.querystring("user_name") user_password=Request.querystring("user_password") sex=Request.querystring("sex") career=Request.querystring("career") hobby=Request.querystring("hobby") describe=Request.querystring("describe")…… %>……Querystring方法获取get方式提交的表单信息……Querystring方法获取get方式提交的表单信息注意:1.get方式提交的表单信息是非安全方式,附加在URL地址后面url?表单元素1的name=表单元素1的value&表单元素2的name=表单元素2的valueQuerystring方法获取get方式提交的表单信息注意:Querystring方法获取URL携带参数信息<html><head> <title>QueryString用法示例</title></head><body> <p>请单击下面的超链接</p>
<ahref="4-7.asp?name=白芸&age=22">显示</a></body></html>4-4_1.aspQuerystring方法获取URL携带参数信息<htmlQuerystring方法获取URL携带参数信息……<body><%Dimname,agename=Request.QueryString("name")'返回姓名age=Request.QueryString("age")'返回年龄Response.Write"您的姓名是:"&name&",您的年龄是:"&age%></body>……Querystring方法获取URL携带参数信息……Querystring方法获取URL携带参数信息语法:request.querystring(参数关键字)形式类似于Querystring方法获取get方式提交的表单信息,只是这里的参数关键字是自定义的,不是表单元素名Querystring方法获取URL携带参数信息语法:reQuerystring方法获取URL携带参数信息URL后传送的信息如果是变量,不是常数,该怎么表示?
Querystring方法获取URL携带参数信息URL后传Querystring方法获取URL携带参数信息<body><p>请单击下面的超链接</p><% dimname,age name="白芸" age=22 %><ahref="4-7.asp?name=<%=name%>&age=<%=age%>">显示</a></body>4-4-2.aspQuerystring方法获取URL携带参数信息<bodyQuerystring方法获取URL携带参数信息注意:URL后携带的都是字符串信息,不用加引号Querystring方法获取URL携带参数信息注意:Querystring方法获取URL携带参数信息应用:图片展4-6-1.asp和4-6-2.asp类似的还有新闻系统,论坛帖子Querystring方法获取URL携带参数信息应用:类似ServerVariables获取方法有时候希望知道服务器端或客户端的信息,如客户端的IP地址,这时我们可以用ServerVariables方法。课本60页表格4-5列举了常用的环境变量。ServerVariables的语法格式:Request.ServerVariables(“环境变量名”)ServerVariables获取方法有时候希望知道服务器端ServerVariables获取方法例子:4-7.asp……<body> <% DimIP IP=Request.ServerVariables("REMOTE_ADDR")
Response.Write"来访者IP地址是:"&IP&"<br>" Dimlocal_IP local_IP=Request.ServerVariables("Local_ADDR")
Response.Write"服务器的IP地址是:"&local_IP %></body>……ServerVariables获取方法例子:4-7.aspResponse对象Response对象可以向客户端输出信息,他的方法有:
方法说明write送出信息到客户端redirect引导用户端的浏览器至新的Web页面end终止处理ASP程序,并返回当时的状况flush立刻送出缓冲区的Html数据clear消除缓冲区中的所有Html页面BinaryWrite输出二进制信息Response对象Response对象可以向客户端输出信息Write方法write方法是Response对象最普遍、最常用的方法,它直接把信息从服务端送到客户端,从而实现动态内容的显示。语法格式:Response.write字符串或变量或常量Write方法write方法是ResponsWrite方法……<%user_name=“G_Jocky” Response.Write"你的密码是:" Response.Writeuser_name Response.Write“你的姓名是:"&user_name %>……4-8.aspWrite方法……4-8.aspWrite方法注意:(1)Response.write必须在<%%>内,不能在客户端运行。(2)Response.write=<%=%>,如例子4-9.asp。区别:但在<%%>内可有多个Response.write操作而=只能有一个。Write方法注意:区别:Write方法Write方法还可以用来输出HTML元素
<bodybgcolor="#FFFFFF"text="#000000"><%
response.write"<divalign='center'>比较Write方法输出Html元素</div>"%></body><bodybgcolor="#FFFFFF"text="#000000"><divalign="center">比较Write方法输出Html元素</div></body>4-10.aspand4-11.aspWrite方法Write方法还可以用来输出HTML元素<bWrite方法注意:(1)HTML代码中的双引号要改成单引号。(2)在开发ASP程序时,如果遇到不方便进行ASP语句和HTML元素之间的切换时,可以用Write方法来输出HTML元素。Write方法注意:Redirect方法在普通网页中,可以利用超链接引导客户至另一个页面,但是必须要客户单击超链接才行。可是有时希望自动引导客户至另一个页面,比如:进行网上考试时,当考试时间到时,应自动引导客户端至结束界面。在ASP中,可使用Redirect方法引导客户至另一个页面。
语法格式为:Response.redirect网址变量或网址字符串
Redirect方法在普通网页中,可以利用超链接引导客Redirect方法<% IfRequest.Form("adrress")="csdn"then ‘将用户引至程序大本营网站
Response.Redirect""
ElseIfRequest.Form("adrress")="book"then ‘将用户引至网络书城
Response.Redirect""
EndIf%>4-12.aspRedirect方法<% IfRequest.Form(Redirect方法注意:
(2)如果希望在ASP文件的任意地方使用Redirect语句,那就必须在ASP文件的开头加上<%Response.Buffer=True%>这一句话。否则,Redirct语句必须放到ASP文件的开头,如果不放到ASP文件的开头,网页执行会出错:HTTP头已经写入到客户浏览器。任何HTTP头的修改必须在写入页内容之前。(1)Redirct语句中网址的写法,可以是相对地址,也可以是绝对地址。
Redirect方法注意:(2)如果希望在ASP文件的任意Buffer属性Buffer属性用来设置服务器端是否将页面输出到缓冲区,它的值为True或False。当Buffer为True时,服务器端先输出至缓冲区,在输出至缓冲区时,服务器端不响应客户端,除非所有的服务器瑞文件被处理完毕。当Buffer为False时,服务器端直接将页面输出至客户端浏览器。
如果在ASP文件中任意地方用到Redirect方法重定向页面,则必须在文件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026秋季国家管网集团华南公司(广东省管网公司)高校毕业生招聘考试参考试题(浓缩500题)带答案详解(黄金题型)
- 2026国网青海省电力公司高校毕业生提前批招聘笔试参考题库浓缩500题带答案详解(完整版)
- 国家管网集团2026届高校毕业生招聘笔试备考试题(浓缩500题)带答案详解(培优b卷)
- 2026国网山东省高校毕业生提前批招聘(约450人)笔试模拟试题浓缩500题含答案详解(b卷)
- 2026秋季国家管网集团东北公司高校毕业生招聘笔试备考试题(浓缩500题)含答案详解(综合卷)
- 2026年洛阳市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(巩固)
- 2026秋季国家管网集团广西公司高校毕业生招聘考试参考试题(浓缩500题)带答案详解(完整版)
- 2026年大兴安岭地区农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(典型题)
- 国家管网集团高校毕业生招聘考试题库(浓缩500题)及参考答案详解(巩固)
- 2025国网内蒙古电力公司高校毕业生提前批招聘笔试模拟试题浓缩500题含答案详解(综合卷)
- 物业客服沟通技巧培训
- 中国老年社区获得性肺炎急诊诊疗专家共识(2023版)解读
- 2023年小学科学实验知识竞赛试题库含答案
- 《水蓄冷工程设计规范》
- Python程序设计基础教程教案全书电子教案整本书课程设计
- 高三英语人教版一轮复习复习课应用文写作信课时2教学设计
- 胎儿宫内生长发育监测-洞察分析
- 食品安全知识培训
- 高一女生安全教育
- 手术室夜班工作总结
- 2025营养指导员理论知识考核试题库(含答案)
评论
0/150
提交评论