牛骨文教育服务平台(让学习变的简单)
博文笔记

servlet基础『关于get和post传输的总结』

创建时间:2016-01-08 投稿人: 浏览次数:460

浏览器生成GET请求的情况:

      1, 用户在地址栏中输入URL

      2.点击Web页面内的链接

      3.提交没有指定Method或者method="get"的表单请求

优点 能够记下所生成页面的能力(提交数据并且记下生成的URL,然后通过电子邮件发送给他人或者将它放入普通的超链接中)


浏览器生成POST请求的情况:

        1.提交method="post"的表单请求

    #  2.如果在传递文件流的时候

          当数据被指定传输前需要完成的编码方式为:『 ENCTYPE:multiparty/formdata』时,方法类型必须指定为POST

              原因是(这种编码方式可以使服务器端的程序对复杂数据的处理更为容易,并且,在使用文件上载控件发送整个文档时也需要用到它『这一点有待本人在工作中涉及之后会进一步阐述』)

特点    数据不是链接(URL)的一部分。

优点 

         1.用于传送大量的数据。由于浏览器限制URL的长度不得超过几千个字符,get将不适用于表单必须发送大量数据的情况。

         2.用于发送二进制数据。回车,空格,制表符,和其他一些特殊字符在URL中是不合法的,如果用GET传输大量的这种二进制文件,在传输之前编码所有字符,并在另一端解码, 极为耗时。

         3.保密性更高,传输用户的机密数据。


在servlet中读取GET和POST数据是,调用

rsquest.getParameter("name");   //其中的name是标签中输入元素的NAME属性的值。


*******************扩展*********************『网络里的资料』

表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded『编码格式是utf-8,此外客户程序会将空格转化为加号(+),非字母数字字符,将转换成百分号(%)后跟两个十六进制数字(代表浏览器字符集中的这个字符)。这些转换是在数据项的名称和值之间放入等于号(=),在名/值对之间放入&号之外进行的』,不能用于文件,图片上传;
只有使用了multipart/form-data,才能完整的传递文件数据,进行下面的操作. 
enctype="multipart/form-data"是上传二进制数据;form里面的input的值以2进制的方式传过去。

相关文档参考 http://chenwenshun-gmail-com.iteye.com/blog/1660976

***************************************************
MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。

****************************************************************************

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。