1、C.I.,Office Automatization,1,IE Form,IE HTML,第5章 Web表单和Request对象,I n t e r n e t,Server (IIS),Request,Response,DataBase,Get / Post,1,2,3,4,C.I.,Office Automatization,2,1 Web表单 11 表单()的属性 111 name属性、id属性 客户端验证或脚本提交 112 method属性 GET : http:/ POST : 数据单独提交 113 Action属性 提交数据交由哪个程序处理 114 target属性 _blank
2、缺省为自身,C.I.,Office Automatization,3,12 表单的提交 121 “发送”按钮122 脚本提交 formName.submit( ) 一般用于客户端验证,当条件满足再发往服务端,否则就直接提示用户进行修正。,C.I.,Office Automatization,4,2 服务端数据的接收 21 接收数据的对象 Request对象 22 method方法 221 POST Request.Form(“ formElementName ”) 222 GET Request.QueryString(“ formElementName ”),C.I.,Office Auto
3、matization,5,3 表单元素 31 文本框 311 text 311 password 312 hidden 32 按钮 321 button 322 submit 323 reset 324 checkbox 325 radio 33 多行文本输入框 textarea 34 下拉式列表 select option,C.I.,Office Automatization,6,4 Request对象 41 Form集合 利用Request.Form(“eleName”)的方式可以获取表单提交的、被命名为eleName的元素的值。但是考虑到客户端可能存在同名的情况,所以可以对这个值进行检索
4、,否则得到的就是以逗号分隔的一个长字符串。 具体来说就是Request.Form(“eleName”)index index的值界于0Request.Form(“eleName”).Count之间 如果eleName存在,Request.Form(“eleName”).Count返回以该名称命名的元素个数,否则返回0,故这个方法可以确定客户端是否有这个元素存在,C.I.,Office Automatization,7,可以使用以下两种常见的方法对数据进行分离:For Each ele In Request.Form(“eleName”)Visit ele NextFor i=1 To Requ
5、est.Form(“eleName”).CountVisit Request.Form(“eleName”)i Next,C.I.,Office Automatization,8,42 QueryString集合 Request. QueryString (“eleName”) Request. QueryString (“eleName”)i Request. QueryString (“eleName”).CountGet方式将明文传输,不适合传输重要数据,同时其数据传输量不是很大,一般限定于255字节以内。,C.I.,Office Automatization,9,43 Cookies集
6、合 IE本来是不允许对用户硬盘进行操作的,但是这样的要求又过于死板,作为折中方案,IE允许受限制的使用这样的文件,具体操作规范就是使用Cookies 一般利用Response对象写Cookie,而利用Request读取Cookies,C.I.,Office Automatization,10,431 利用Response对象保存Cookies 4311 语法 Response.Cookies( cookieName )key | .attribute 4312 attribute Expires、Domain、Path、Secure、HasKeys 4313 注意 设置Cookie时,不存在则
7、创建之,否则就覆盖 Expires后跟时间(日期),指出Cookie的到期时间 如果想清除Cookie,将时间设置为过去的时间 不设置Expires,则网页关闭则失败,C.I.,Office Automatization,11,432 使用Request对象设置Cookies 4321 语法 Request.Cookies( cookieName )key | .attribute 4322 使用 直接取值便可以使用了,C.I.,Office Automatization,12,44 ServerVariables集合 获取各种服务器环境变量,ALL_HTTP ALL_RAW APPL_MD_
8、PATH APPL_PHYSICAL_PATH AUTH_PASSWORD AUTH_TYPE AUTH_USER CERT_COOKIE CERT_FLAGS CERT_ISSUER CERT_KEYSIZE CERT_SECRETKEYSIZE CERT_SERIALNUMBER CERT_SERVER_ISSUER CERT_SERVER_SUBJECT,CERT_SUBJECT CONTENT_LENGTH CONTENT_TYPE GATEWAY_INTERFACE HTTPS HTTPS_KEYSIZE HTTPS_SECRETKEYSIZE HTTPS_SERVER_ISSUER
9、 HTTPS_SERVER_SUBJECT INSTANCE_ID INSTANCE_META_PATH LOCAL_ADDR LOGON_USER PATH_INFO PATH_TRANSLATED,QUERY_STRING REMOTE_ADDR REMOTE_HOST REMOTE_USER REQUEST_METHOD SCRIPT_NAME SERVER_NAME SERVER_PORT SERVER_PORT_SECURE SERVER_PROTOCOL SERVER_SOFTWARE URL HTTP_ACCEPT HTTP_ACCEPT_LANGUAGE HTTP_CONNEC
10、TION HTTP_HOST HTTP_USER_AGENT HTTP_COOKIE HTTP_ACCEPT_ENCODING,C.I.,Office Automatization,13,45 ClientCertificate集合 客户数字认证,C.I.,Office Automatization,14,46 TotalBytes属性 只读属性,客户端请求的总字节数,C.I.,Office Automatization,15,47 BinaryRead方法 二进制读取,一般用于接收、创建非HTML的数据。,C.I.,Office Automatization,16,习题 1 帐号验证 11
11、要求 111 客户端输入用户名、密码 112 服务端验证是否为内置的10个帐号 113 是则显示页面ok,否则提示用户重新登录,C.I.,Office Automatization,17,12 功能 121 用户名、密码只能是大小写英文字母、数字 此处要求在客户端实现 122 服务端的合法性检查 此处要求在服务端实现 123 防止用户绕过验证直接看到OK页面,C.I.,Office Automatization,18,【教学目的及要求】 本章节主要让学生了解表单与ASP的交互,特别对于客户端数据提交、服务端数据收集有个整体的认识。【教学重点】 重点是客户端数据的提交。【教学难点】 难点是服务端数据的收集。,