关于请求参数的类型和获取请求参数方法

一. 首先先来区分以下三个参数

request.getParameter()
request.getInputStream()
request.getReader()

根据表单提供提交数据的参数不同,而请求参数方法也不同

  1. enctype=application/x- www-form-urlencoded
    这种编码方式是默认的编码方式。

    编码后的结果通常是field1=value2&field2=value2&… 的形式,如 name=aaaa&password=bbbb。

    通常使用的表单也是采用这种方式编码的,Servlet 的 API 提供了对这种 编码方式解码的支持,只需要调用 ServletRequest 类中的 getParameter()方法就可以得到用户表单中的字段和数据。

    不足:

    这种编码方式( application/x-www-form-urlencoded )虽然简单,但对于传输大块的二进制数据显得力不从心。

  2. 对于传输大块的二进制数这类数据,浏览器采用了另一种编码方式,即 “multipart/form-data” 的编码方式:

    浏览器可以很容易将表单内的数据和文件放在一起发送。这种编码方式先定义好一个不可能在数据中出现的字符串作为 分界符,然后用它将各个数据段分开,而对于每个数据段都对应着 HTML 页面表单中的一个 Input 区,包括一个 content-disposition 属性,说明了这个数据段的一些信息,如果这个数据段的内容是一个文件,还会有 Content-Type 属性,然后就是数据本身,如果以这种方式提交数据就要用request.getInputStream()或request.getReader()得到 提交的数据,用 request.getParameter()是得不到提交的数据的。


二.我们再了解一下关于jquery中的请求

var params={            ajaxurlwithparam:"createmail2.do",  
                method:"POST",  
                data:{uname:uname,password:password,passwordconf:passwordconf,mobile:mobile,verifycode:verifycode,domain:domain,version:version}  
        };  
  regresult=ajaxRequest(params);  
//function.js  
function ajaxRequest(params){  
    .....  
    $.ajax({  
        type : method,  
        url : ajaxurl,  
        async : ifasync,  
        data : data,  
        dataType : 'json',  //  
        success : function(result) {  
            re=result;  
        }  
    });  
    return re;  
}  

注意:jQuery 中的datatype 指的是预期服务器返回的数据类型。


三.了解一下Content-type

MediaType,即是Internet Media Type,互联网媒体类型;也叫做MIME类型,在Http协议消息头中,使用Content-Type来表示具体请求中的媒体类型信息。


常见的媒体格式类型如下:

  • text/html : HTML格式
  • text/plain :纯文本格式
  • text/xml : XML格式
  • image/gif :gif图片格式
  • image/jpeg :jpg图片格式
  • image/png:png图片格式

    以application开头的媒体格式类型:

  • application/xhtml+xml :XHTML格式
  • application/xml : XML数据格式
  • application/atom+xml :Atom XML聚合格式
  • application/json : JSON数据格式
  • application/pdf :pdf格式
  • application/msword : Word文档格式
  • application/octet-stream : 二进制流数据(如常见的文件下载)
  • application/x-www-form-urlencoded : 中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)

另外一种常见的媒体格式是上传文件之时使用的:

  • multipart/form-data : 需要在表单中进行文件上传时,就需要使用该格式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值