Request


[JSP] JSP中的隐藏对象 -- request- -



request这个对象不用事先宣告,就可以在JSP网页中使用,在转译为Servlet之后,它会转换为javax.servlet.http.HttpServletRequest型态的对象,HttpServletRequest对象是有关于客户端所发出的请求之对象,只要是有关于客户端请求的信息,都可以藉由它来取得,例如请求标头、请求方法、请求参数、使用者IP等等信息。

request的主要方法:

getParameterNames():取得客户端所发出的请求参数名称.

getParameter():可以让您指定请求参数名称,以取得对应的设定值.

getServerName():请求的服务器.

getProtocol():使用协议.

getMethod():请求方法.

getServerPort():请求端口号.

getContextPath():Context路径.

getServletPath(): Servlet路径.

getRequestURI():URI路径.

getQueryString():查询字符串.

getRemoteAddr():使用者主机IP.

getRemotePort():使用者使用端口号.

例子:

http://localhost:8080/myjsp/requestdemo.jsp?name=john&nick=johncn

对应的信息为:

请求的服务器: localhost
使用协议: HTTP/1.1
请求方法: GET
请求的端口号: 8080
Context路径: /myjsp
Servlet路径: /requestdemo.jsp
URI路径: /myjsp/requestdemo.jsp
查询字符串: name=john&nick=johncn

使用者主机IP: 127.0.0.1
使用者使用端口号: 1060

ASP中的Request 对象

Request 对象
可以使用 Request 对象访问任何基于 HTTP 请求传递的所有信息,包括从 HTML 表格用 POST 方法或 GET 方法传递的参数、cookie 和用户认证。Request 对象使您能够访问客户端发送给服务器的二进制数据。
Request 的语法 :
Request[. 集合 | 属性 | 方法 ]( 变量 )
在这里作者将挑选一些常用的对象语法进行分析
1、Form
Form 集合通过使用 POST 方法的表格检索邮送到 HTTP 请求正文中的表格元素的值。
语法
Request.Form(element)[(index)|.Count]

参数
element 指定集合要检索的表格元素的名称。
index 可选参数,使用该参数可以访问某参数中多个值中的一个。它可以是 1 到 Request.Form(parameter).Count 之间的任意整数。
Count 集合中元素的个数
Form 集合按请求正文中参数的名称来索引。Request.Form(element) 的值是请求正文中所有 element 值的数组。通过调用 Request.Form(element).Count 来确定参数中值的个数。如果参数未关联多个值,则计数为 1。如果找不到参数,计数为 0。要引用有多个值的表格元素中的单个值,必须指定 index 值。index 参数可以是从 1 到 Request.Form(element).Count 中的任意数字。如果引用多个表格参数中的一个,而未指定 index 值,返回的数据将是以逗号分隔的字符串。
可以使用重述符来显示表格请求中的所有数据值。例如,用户通过指定几个值填写表格,见下图。

对于 hobby 参数,您可以使用下面的脚本检索这些值。  
< html>   
< head>< title>< /title>< /head>   < body>   
< p> 请填写你的爱好 < /p>   
< form method="POST" action="form.asp">   
< p>< input type="text" name="hobby" size="20">< br>   
< input type="checkbox" name="hobby" value=" 足球 "> 足球 < input type="checkbox"   name="hobby" value=" 乒乓球 "> 乒乓球 < /p>   
< p>< input type="submit" value=" 发送 " name="B1">< input type="reset" value=" 重填 "   name="B2">< /p>   
< /form>   
< %   For Each i In Request.Form("hobby")   Response.Write i & "< BR>"   Next   %>   
< /body>< /html>

将以上代码剪贴到记事簿中(注意将“< ”后面的空格去掉),保存为 form.asp 文件并运行,request 对象可以根据你在 form 中填入或选择元素内容的不同将元素逐个显示出来。
当然使用 For...Next 循环也可以生成同样的输出,如下所示 :
 < %
  For i = 1 To Request.Form("hobby").Count<
  Response.Write Request.Form("hobby")(i) & "< BR>"Next<
  %>

【ASP中,Request 对象获取数据的3种方法:】
1.Request.Form:获取以POST方式提交的数据(接收Form提交来的数据);
2.Request.QueryString:获取地址栏参数(以及以GET方式提交的数据)
3.Request:包含以上两种方式(优先获取GET方式提交的数据),它会在QueryString、Form、ServerVariable中都搜寻一遍。
而且有时候也会得到不同的结果。如果你仅仅是需要Form中的一个数据,但是你使用了Request而不是Request.Form,那么程序将在QueryString、ServerVariable中也搜寻一遍。如果正好你的QueryString或者ServerVariable里面也有同名的项,你得到的就不是你原本想要的值了。




HttpRequest.Params 属性
[编辑本段]
request.params是一个集合,它依次包括request.querystring、request.form、request.cookies和request.servervariables。

如果要在两个页面传递数据的话,只能用request.querystring、request.form、request.cookies
Request.Params 会在 QueryString、Form、Server Variable 以及 Cookies 找数据,
他首先在 QueryString 集合查找数据,如果在 QueryString 找到数据,就返回数据,如果没有找到就去 Form 集合中查找数据,找到就返回,否则在往下一下个集合查找数据。
Request.Params["id"]
Request.Form["id"]
Request.QueryString["id"]
Request.Params是所有post和get传过来的值的集合,Request.Form是取post传值, Request.QueryString是get传过来的值

http://baike.baidu.com/view/673561.htm

文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
相关日志:
评论: 0 | 引用: 0 | 查看次数: 365
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 20 字 | UBB代码 关闭 | [img]标签 关闭