Request用法

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里面也有同名的项,你得到的就不是你原本想要的值了。


  【asp中,request.form与request.querystring的比较】


  1、对于post传值的方法,采用request.form接受,他的参数值不会在url中用明文方式显示,且长度不受限制,安全性相对较高;


  2、get方法递交的表单或通过url传值采用request.querystring进行获值的方法,(1)参数值明码显示(2)长度受限;优点:(1)方便可以直接定义一个url就可以传值;作用:常用与数据库中的文章id传值,进行数据库的查询;

编辑本段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://www.918x.cn/post/577.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值