Request、Request.Params、Request.QueryString、Request.form的区别

简介: Request:Request["id"]是一个复合功能读取函数。它从几个集合取数据是有顺序的,从前到后的顺序依次是:QueryString > Form > Cookies > ClientCertificate > ServerVariables,也即是一般get比post优先级高些。

Request.Params、Request.QueryString、Request.Form都可以获取客户端提交的数据。他们之间有什么不同呢?

Request方法

Request:Request["id"]是一个复合功能读取函数。它从几个集合取数据是有顺序的,从前到后的顺序依次是:QueryString > Form > Cookies > ClientCertificate > ServerVariables,也即是一般get比post优先级高些。Request对象按照这样的顺序依次搜索这几个集合中的变量,如果有符合的就中止,后面的就不管了

做为一个优秀的程序员要养成好的习惯,记得在request后面加上集合的名字

<form method="post" action="xxx.aspx?id=2">
<input id="id" type="text" name="id">
</form>

当我们提交这个表单时同时传递了两个id值,一个是form里input的id它以post方式提交,而另一个是action里的url传递了一个以get方式提交的id。那麽我们如果用Request("id")得到的是哪一个值?就得据其优先级才知道,一般应该是get比post优先级高些

Request对象可以不指明具体使用QueryString或是form方法,如request("变量"),因为它能自动识别,不过还是指明为好,否则,要它自己判断也得花些微时间,影响程序执行效率

Request.Params方法

Request.Params是所有post和get传过来的值的集合它依次包括request.QueryString、request.Form、request.cookies和request.ServerVariable

Request.QueryString方法

Request.QueryString["id"] 只能读取通过地址栏参数传递过来的名为id的参数(以GET方式提交的数据),如果不存在名为id的地址栏参数Request.QueryString["id"]将会返回空

例如:

stra=Request.QueryString ["strUserld"]

Request.form方法

它是用来接收表单变量的(post 方法)

Request.QueryString和Request.form

Request.QueryString和Request.form除了接收方法不同外,还有传递数据量大小的问题,request.form方法能接收的数据没有限制,而request.QueryString只能接收数据量小于2KB数据,当然后者的执行速度要比前者快。一般往数据库请求查询时用request.QueryString方法,因为查询时只不过那么几个关键词,没有必要用request.form方法而导致查询速度变慢。另外,request.QueryString方法还会把数据信息显示在客户端浏览器地址栏中,安全性较差。 request.form方法不存在上述问 题,因此大量被应用在多个文本域提交数据和用户登陆的场合

目录
相关文章
|
5月前
request.getParameter、request.getParameterValues、request.getParameterMap用法
request.getParameter、request.getParameterValues、request.getParameterMap用法
|
10月前
|
存储
Request和Response详解
Request和Response详解
|
11月前
|
前端开发 Java 数据库连接
|
11月前
|
缓存 应用服务中间件 API
Request 和 Response总结
Request 和 Response总结
|
11月前
|
前端开发 Java 应用服务中间件
Request 和 Response详解
Request 和 Response详解
|
存储 SQL druid
Request&Response
在Servlet API中,定义了一个HttpServletRequest接口,它继承自ServletRequest接口,专门用来封装HTTP请求消息。由于HTTP请求消息分为请求行、请求头和请求体三部分,因此,在HttpServletRequest接口中定义了获取请求行、请求头和请求消息体的相关方法.
39317 0
Request&Response
|
Java
Request和Response对象详解
Request和Response对象详解
163 0
Request和Response对象详解
|
移动开发 前端开发 JavaScript
通过Filter,对request 和 response 进行处理
通过Filter,对request 和 response 进行处理,统一加解密,Xss过滤,HttpServletRequestWrapper,HttpServletResponseWrapper
2113 0