06.10.23科目:《ASP动态网页制作》授课章节:第五章第一节授课内容:request对象的form方法和querystring方法授课类型:多媒体授课教学方法:讲授法、演示法、练习法、读书指导法、个别辅导法教具:计算机、投影仪、话筒授课班级:计算机三年级(5)班授课地点:计算机7室授课时间:2006.10.23授课课时:两个课时授课老师:指导老师:5-1request对象【教学目标】1、掌握ASP内建的Request对象获取客户端信息的方法(Form/Querystring)2、运用request对象提供的方法进行一些简单的编程【教学重难点分析】Request对象是学生开始学习动态网页制作的基础,掌握了request.form的用法,那么后面的内容的学习就容易多了,所以把request.form作为学习的重点和难点。【学生情况分析】学生已经学过了HTML网页制作的基础知识,学过了VBSCRIPT程序与网页制作,有了学习动态网页的基础。【教学内容分析】request对象的form方法和querystring方法是两种不同的获取客户端信息的方法,表单内容传送给服务器的方法不同,要求用不同的获取表单内容的方法,但是这两种方法的输出结果是一样的,光从代码很难明白两者在获取表单信息的不同之处,所以要从实例中让学生理解。【教学手段及策略】运用多媒体授课,演示实例,将实例直观展示在学生前面,让学生模仿代码,在模仿中掌握代码,最后自己完成代码【教学过程设计】(一)引入1、回顾:前面我们已经学过了html标记和vbscript脚本语言,html标记页可以直接在2、提问①什么是ASP?②什么时IIS?③什么是动态呢?展示实例(实例代码见附一)④什么是对象呢?对象是由具有属性、方法及事件三要素所组合而成的东西。现实生活中对象无处不在,比如手机、书、计算机都可视为对象。对象必须具有以下三个性质:具有属性可以描述06.10.23具有方法可以使用具有事件可以产生行为如手机的对象特性:属性方法事件天线拨号电话响了材质接听电话无信号颜色拨号电话占线重量挂断语音通知号码电信⑤ASP有几种对象模块呢?⑥Request对象的作用:获得客户端信息。⑦ASP内建的Request对象拥有几种获取客户端信息的方法?(Form/Querystring/Cookies/Servervariables/Clientcertificate)。(二)5-1-1读取表单数据(1)展示实例一(实例代码见附一)(2)练习核心语句(3)讲解演示代码(4)Request.form的语法:Request.form(element)[(indext)|.count]Request.form(element):是请求表单中所有element值的数组通过调用Request.form(element).count来确定参数中值的个数。(5)运行修改代码,看效果。①比较没有这个代码formmethod=postaction=1.asp会出现什么情况?②改5-1-1.asp(代码见附一)为5-2-1.asp将会是什么结果呢?(6)form集合将表单内容传递到服务器的方法:(7)Request.form获取表单内容的方法:在接收页(服务器端)使用request.form方法来提取表单的元素的内容。①演示代码5-1-1.asp(代码见附一)Request.form方法具体获取表单内容的方法:通过这样的一句代码%=request.form(hobby)%实现的。这个句子将表单中所有命名为hobby的值提取出来,返回到浏览页中。②小结:在5-1-1.asp(代码见附一)代码中%=变量%,产生在浏览器上的输出,这种表达方式与使用response.write的作用基本相同。(8)总结Request.form方法的原理:客户端用post方法提交表单内容服务器端用request.form方法获取表单内容发送端接受端(9)做练习一(见附三)(三)5-1-2读取Querystring信息(1)修改代码让学生将自己完成练习request.form代码中的post方法改成get方法,看看能不能运行。客户端服务器端06.10.23将获取表单内容页面代码中的form全部改成querystring(2)form方法与querystring方法的不同不同:①form表单数据传递如果用get方法,应该使用request.querystring方法来读取传递的信息。如果用post方法,就应该用request.form方法。②querystring集合的信息在http查询字符串(URL)中体现出来,由URL中问号(?)后的值指定。(3)举例子讲明②不同之处(例子代码见附二)①操作:将“读取表单数据页面”在浏览器中打开后的地址直接在浏览器中输入,则可以看到我们在表单中输入的结果。③原因:单击“提交”按钮,则浏览器会将读取表单数据页面(代码见附二)的地址发送到服务器端的5-1-2.asp(代码见附二)文件。querystring集合实际上是检测客户端发送过来的URL地址,因此客户端页可以直接将带查询字符串的URL地址发送给服务器的asp文件,例如可以在HTML页面创建一个超连接:ahref=“=%D3%F0%C3%AB%C7%F2&hobby=%D7%E3%C7%F2&B1=%B7%A2%CB%CD”提交表单内容/a④对比:我们将request.form中“读取表单数据页面”(代码见附一)的URL在浏览器中打开并不能得到我们刚刚填写的结果。(4)小结客户端的html表单向服务器传递ASP文件时,表单提交的数据有两中发送方式:一种是get,一种是post,其区别在于HTMLform标签的method参数的值取get还是post。如果是用get方法,则客户提交的表单数据并不是通过独立的数据包发送,而是作为URL地址的查询字符串字段参数,于所提交到的ASP文件的URL地址一并传送。所以服务器端者需要获取这些表单数据的值,就需要使用querystring集合从查询字符串种读取客户提交的数据。注:查询字符串是指所提交到的ASP文件名之后的部分,以问号开始。用图示如下:客户端用post方法传递表单内容服务器端用request.form方法获取表单内容发送端接受端post方法::客户提交的表单数据,通过独立的数据包发送客户端用get方法提交表单内容服务器端用request.querystring方法获取表单内容get方法:客户提交的表单数据,作为URL地址的查询字符串字段参数,于所提交到的ASP文件的URL地址一并传送。发送端接受端(5)做练习二(见附四)客户端服务器端客户端服务器端06.10.23(四)讲解练习中碰到的问题(五)提交练习附:一、5-1-1读取表单数据例题代码表单页代码如下:htmlheadtitle表单页/title/headbodyformmethod=postaction=5-1-1.aspp请填写你的爱好:/ppinputtype=textname=hobbysize=20brinputtype=checkboxname=hobbyvalue=足球足球inputtype=checkboxname=hobbyvalue=乒乓球乒乓球/ppinputtype=submitvalue=发送name=B1inputtype=resetvalue=重填name=B2/p/form/body/html“读取表单数据页面”代码如下,命名为5-1-1.asphtmlheadtitle读取表单数据页面/title/headbody你填写的爱好是:%=request.form(hobby)%hr用集合数组提取:br%fori=1torequest.form(hobby).countresponse.writerequest.form(hobby)(i)&brNext%hr用form集合循环提取:br%foreachiinrequest.form(hobby)response.writei&br06.10.23next%/body/html二、5-1-2读取Querystring信息代码表单页代码如下:htmlheadtitle表单页/title/headbodyformmethod=getaction=5-1-2.aspp请填写你的爱好:/ppinputtype=textname=hobbysize=20brinputtype=checkboxname=hobbyvalue=足球足球inputtype=checkboxname=hobbyvalue=乒乓球乒乓球/ppinputtype=submitvalue=发送name=B1inputtype=resetvalue=重填name=B2/p/form/body/html读取表单数据页面代码如下,命名为5-1-2.asphtmlheadtitle读取表单数据页面/title/headbodypalign=center以下是您提交的数据:/p你填写的爱好是:%=request.querystring(hobby)%hr用集合数组提取:br%fori=1torequest.querystring(hobby).countresponse.writerequest.querystring(hobby)(i)&brNext%hr用form集合循环提取:br%foreachiinrequest.querystring(hobby)response.writei&brnext%/body/html06.10.23三、练习一参考例题代码,用request.forn方法完成以下简单的编程。表单数据页面内容如下:请输入您的名字:姓名:朱银娟发送清空提示:第一步:完成表单页第二步:完成提取表单内容的页面四、练习二在练习一的基础上添加表单的内容,完成以下的题目调试成功之后,将代码该用request.querystring方法实现。表单页面内容如下:(查阅课本P22-24表单标记知识,参考例题代码)请输入您的信息:姓名:性别:帅哥美女爱好电脑旅游运动音乐购物艺术自我介绍:请将自我介绍输入此区域发送清空