客户端请求方式get和post的区别

 我来答
福喜900
推荐于2016-01-28 · TA获得超过6.1万个赞
知道大有可为答主
回答量:1.1万
采纳率:0%
帮助的人:1亿
展开全部
get请求方式:
直接在浏览器地址输入的访问地址,或提交表单时,该表单对应的form元素没有设置method方式或者method方式为get,get方式的请求会将请求参数的名和值转换成字符串,并附加在原rul之后,因此,可以在地址栏中看到请求参数名和值。且get请求方式传送的数据量小,一般不能大于2kb
post请求方式:
通过表单提交,且需要设置form的元素为post。post方式传送的数据量较大,取决于服务器的设置,post方式发送的请求参数以及对应的值放在html header中传输,用户不能在地址栏里看到请求参数之,安全性相对较高。
对比以上两种参数传递方式,我们应该采用post方式。

post请求方式处理非西欧字符:
必须在获取请求参数之前先调用setCharacterEncoding方法设置编码的字符集,因此当发送请求的表单页采用gb2312字符集
Jsp代码
<%@ page language="java" contentType="text/html;charset="gb2312"%>
<html>
request.setCharacterEncoding("gb2312");
String name = request.getParameter("name");
String [] colors = request.getParamterValues("color");
<!--下面依次输出表单域的值-->
您的名字:<%=name%>
您喜欢的颜色<%for(String c:colors){out.println(c+"");}%>
</html>

get请求方式处理非西欧字符:
在获取请求参数值之后对请求参数值重新编码,也就是将其转换成字节数组,再将字节数组重新编码成字符串
Jsp代码
<%@ page language="java" contentType="text/html;charset="gb2312"%>
<html>
String rawName = request.getParametet("name");
bytes[] rawBytes = rawName.getBytes("ISO-8859-1");
String name = new String(rawBytes,"gb2312");
</html>
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式