Web应用开发技术 教学课件 ppt 作者 宋先斌 何在玉 第09章

上传人:E**** 文档编号:89405394 上传时间:2019-05-24 格式:PPT 页数:88 大小:113KB
返回 下载 相关 举报
Web应用开发技术 教学课件 ppt 作者  宋先斌 何在玉 第09章_第1页
第1页 / 共88页
Web应用开发技术 教学课件 ppt 作者  宋先斌 何在玉 第09章_第2页
第2页 / 共88页
Web应用开发技术 教学课件 ppt 作者  宋先斌 何在玉 第09章_第3页
第3页 / 共88页
Web应用开发技术 教学课件 ppt 作者  宋先斌 何在玉 第09章_第4页
第4页 / 共88页
Web应用开发技术 教学课件 ppt 作者  宋先斌 何在玉 第09章_第5页
第5页 / 共88页
点击查看更多>>
资源描述

《Web应用开发技术 教学课件 ppt 作者 宋先斌 何在玉 第09章》由会员分享,可在线阅读,更多相关《Web应用开发技术 教学课件 ppt 作者 宋先斌 何在玉 第09章(88页珍藏版)》请在金锄头文库上搜索。

1、第 9 章 与 用 户 交 互,9.1 发 送 信 息 9.2 接 收 信 息,通过本章的学习,读者应重点掌握以下内容: 动态信息的输出方式 缓冲输出的概念及实况方法 网页的重定向 表单的发送和接收方法 常用环境变量的获取方法,9.1 发 送 信 息,当客户端浏览器向服务器请求一个HTML文档时,服务器直接将HTML文档发送给浏览器,由浏览器对文档中的内容进行逐项解释,并显示在客户的窗口中。,但是,如果要根据用户的请求信息动态地生成网页,就需要使用ASP的内置对象Response。它可以将来自于用户或来自于数据库、来自于文件的有关信息嵌入到HTML文档中发送到客户端。,9.1.1 将动态信息插

2、入到HTML文档中 通过ASP中的内置对象Response可以实现将需要动态生成的信息嵌入到HTML文档中,也可以通过它向客户端浏览器传递一些其他信息。,1少量信息插入 为了将少量信息插入到HTML文档中,(如插入一个变量的值、一个表达式的值),可以使用如下形式: 与之等价的形式为: ,2较多信息插入 但如果一个网页文件中要插入大量的动态信息,一般直接使用一次或多次Response对象的write方法,例如要显示当前的日期,尽管可以使用上面的方法,写成如下形式: 今天是年月日。,但我们一般写成如下形式: ,从上面的讨论看出要使用Response对象将一些动态生成的信息插入到网页中,需要使用如下

3、形式: Response.write 表达式 其中,不管表达式的结果是什么类型,最终都作为字符串插入到网页中。另外,由于这一行是由服务器执行的脚本,它必须包含在之间。,例9-1 在网页中嵌入动态信息。 , 显示日期时间 “ ,现在时间是 ,9.1.2 输出静态信息 我们经常看到如下形式的文档: 条件满足时发送的文档 条件不满足时发送的文档 ,例如,控制某网页在星期天时不能访问的脚本如下。 status=“没有授权“ , 欢迎您! ,9.1.3 缓冲输出 1设置缓冲输出方式 使用Response对象的buffer属性可以设置缓冲输出页面的内容,形式为: Response.buffer=true,

4、2清除缓冲区的内容 Response.clear 3输出缓冲区中的内容 Response.flush 4结束输出 Response.End,例9-2 使用缓冲输出。 这是一行客户端看不到的内容,“ 这是看到的第二行内容,“ Response.end 这是结束后输出的一行内容,客户端看不到这行内容。 ,9.1.4 输出内容指定 常说当浏览器请求一网页时,服务器会将一个HTML文档发送给客户端浏览器,但服务器也可以使用Response对象的ContentType属性指明向浏览器发送的是其他类型的文档。指明发送给客户端浏览器的是什么类型的文档,可使用如下形式: Response.ContentTyp

5、e=内容类型,内容类型的书写格式为“类型子类型”,如默认值为“text/HTML”,可以是“text/plain”表示纯文本,“application/msword”表示Word文档,还可以是“image/GIF”表示GIF图片等。,1输出文本文件 要想向客户端发送文本文件,使用如下形式的指定: Response.ContentType=“text/plain“ 要注意的是,这一行必须放在输出任何内容之前。,例9-3 输出纯文本文件。 你好: 你看到的是纯文本文件,它不识别HTML的标签。 请注意这里的标志并不处理成换行。,2输出Word文档 例9-4 输出Word文档。 ,用户好: 这一信息

6、将直接使用MS Word来显示,并且你能直接修改和保存它。 注意:在这里原来的象这样的HTML标签不被处理成换行。,9.1.5 重定向用户 使用Response对象的redirect方法可以把用户引导到指定的某个网页。形式如下: Response.redirect 网页地址,9.1.6 其他属性和方法 1Expires属性 2ExpiresAbsolute属性 3IsClientConnected属性 4CacheControl属性 5AppendToLog方法,9.2 接 收 信 息,有时,希望通过网页来接收用户的一些信息,如用户输入的用户名、口令,用户对自己的网页的评价,用户请求帮助的一些

7、信息等。为此,ASP中内置了一个Request对象,它封装了所有用户的请求和表单信息。,9.2.1 接收用户通过GET方式发送的信息 1表单设计 若要设计一个表单,用于输入姓名和口令,形式如下: 姓名: 口令: ,2接收表单数据 Request.querystring(“表单域的名称“),例9-6 GET方式发送和接收信息。 本例中需要使用两个文件,一个文件用于显示表单,另一个文件用于接收表单信息。,(1)显示表单的文件L9_6.html 姓名: 口令: ,(2)接收表单信息的文件L9_6.asp 你的名字是: 你的口令是: ,3合并两个文件 Request.servervariables(“

8、QUERY_STRING“) “ “,例9-7 用同一个文件显示表单和接收表单信息。 ” then name=Request.querystring(“username“) password=Request.querystring(“userpassword“) , 你的名字是: 你的口令是: , 姓名: 口令: ,4直接使用查询字符串 直接在地址栏中输入如下内容: localhost/L9_8.asp?xm=abc&kl=123,5重定向到其他网页 例9-9 重定向到其他网站。 option explicit dim searchstr,str searchstr=Trim(Request.

9、Querystring(“Searchstr“),if len(searchstr)0 then str=“http:/ str=str & “?p=“ & searchstr Response.redirect str else “,method=“get“ 输入要搜索的字符串 ,6GET方式总结 可以看出,由于GET方式是把表单中的信息附加到URL再发送到服务器,这样,一方面可能有一些需要保密的东西可能被其他人发现,另一方面,这种方式只适合于发送少量信息。,9.2.2 接收通过POST方式发送的信息 当需要让用户安全地提交大量信息时,可以使用POST发送方式。,1表单设计 以下还是以输入姓

10、名和口令的表单为例,设计如下: 姓名: 口令: ,2接收表单输入 为了接收使用POST方式发送的表单信息,可以使用Request对象的form集合,形式如下: Request.form(“表单域的名称“),例9-10 POST方式发送和接收表单。 , “ method=“POST“ 姓名: 年龄: , ,你好!你今年岁. ,3混合发送方式 有时,我们希望通过表单,既以POST方式发送一些信息,又通过GET方式传递一些信息,这时,可以将要传递的一些信息放在标签的action属性中。,例9-11 同时使用POST方式和GET方式发送数据。 , ?bh=0001“ method=“POST“ 姓名:

11、 年龄: ,“ for each qs in Request.querystring Response.write qs & “=“ & Request.querystring(qs) & “ next Response.write “以POST方式发送的内容如下:“,for each fm in Request.form Response.write fm & “=“ & Request.form(fm)& “ next ,4POST方式总结 POST方式传递信息时,不把它放入地址栏,这样相对比较安全,另外POST方式可以传递相对较多的数据。,9.2.3 环境变量 1获得当前脚本的虚拟路径

12、action=“ 2找出用POST方式发送的信息长度 Request.servervariables(“CONTENT_LENGTH“)0,3找出用GET方式发送的查询串 querystr=Request.servervariables(“QUERY_STRING“) 4获取HTTP报头信息 Request.servervariables(“ALL_RAW“),5得到引用的Web页地址 Request.servervariables(“HTTP_REFERER“) 6获取浏览器名 Request.servervariables(“HTTP_USER_AGENT“),7获取客户的IP地址 Req

13、uest.servervariables(“REMOTE_ADDR“) 8获得用户喜欢的语言 Request.servervariables(“HTTP_ACCEPT_LANGUAGE“) 9获取请求的域名 Request.servervariables(“SERVER_NAME“),例9-12 获得全部环境变量的值。 环境变量名环境变量的值 ,9.2.4 不同类型表单域的数据接收 例9-13 用于接收表单信息的网页。 “ Response.write “长度为“ & len(Request.form(“fieldname“) & “ if isnull(Request.form(“field

14、name“) then Response.write “ 返回空“ end if ,1文本框、口令框和文本区域 表单中,若要放置一个单行文本框,一般有如下几种形式: ,其中第二种形式下,初始状态文本框中将出现“abc”,不管什么情况,当表单被提交时,若文本框内容为空,则浏览器不发送该表单域中的信息,这样接收程序若用形式Request.form (“表单域名称“)求该表单域值时,将返回长度为0的空字符串。而若文本框中有内容,则接收到的就是其中的内容。,例9-14 发送文本框的内容。 请输入或选择表单域的值,然后单击提交: ,2单选按钮 表单中,若要放置一组单选按钮,设计形式主要有如下几种: ,当

15、表单递交时,若该按钮没有被选中,则不发送该项;若被选中,第一种形式中发送一个“on”,第二、第三种形式中发送其值(value属性的值)为“男”。,3复选按钮 表单中,复选按钮设计主要有如下几种形式: ,当表单递交时,若该按钮没有被选中,则不发送该项;若被选中,第一种形式发送的值为字符串“on”,第二种形式发送的值为字符串“ON”,第三种形式发送的值为字符串“A”。 若一个表单中有多个同名的复选按钮被选中时,将发送一个集合给服务器。这时,你可以通过Request.form(“fieldname“)的Count属性得到有多少项被同时选中,并使用如下形式得到选中的第i项的值: Request.for

16、m(“fieldname“)(i),例9-15 多个表单域同名时的接收和显示。 0 then if Request.form(“fieldname“).count=0 then Response.write “您没有选择任何项目!“,else Response.write “您选择的项目如下:“ for i=1 to Request.form(“fieldname“).count Response.write Request.form(“fieldname“)(i) & “ “,next Response.write “或表示为:“ Response.write Request.form(“fieldname“) & “ Response.write “和以下形式等价:“ for each item in Request.form(“fieldname“) Response.wri

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号