用form表单想servlet提交数据时,get和post之间的区别是什么? 5

<form action=Servlet?name=yelu method=get>
在这个方式下 在servlet中用request.getParamter("name")方法取到null,而我换成post提交方式就能接收到值了,,为什么啊????????
 我来答

答题抽奖

首次认真答题后

即可获得3次抽奖机会,100%中奖。

更多问题
推荐于2016-04-18 07:11:13 最佳答案
可以简单的理解为:
1 get明文传输,信息附加在url上面,get明文传输,post更加安全
2 get传输有大小限制,应该是3k,post需要制定传输类型
3 get多用于获取数据,根据get变量的不同调用不同的数据,post多用于提交数据,提交用户输入的数据

千锋教育 | 做真实的自己 用良心做教育

主营:教育培训-JAVA培训-大数据培训-Html5培训-UI培训-python培训等

向TA提问

其他回答

你传递的name应该是中文吧.get方式通过url传值不支持中文传值.post方式通过消息体传值.
get与post区别:
1、Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据。
2、Get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL。
3、Get是不安全的,因为在传输过程,数据被放在请求的URL中,而如今现有的很多服务器、代理服务器或者用户代理都会将请求URL记录到日志文件中,然后放在某个地方,这样就可能会有一些隐私的信息被第三方看到。另外,用户也可以在浏览器上直接看到提交的数据,一些系统内部消息将会一同显示在用户面前。Post的所有操作对用户来说都是不可见的。
4、Get传输的数据量小,这主要是因为受URL长度限制;而Post可以传输大量的数据,所以在上传文件只能使用Post(当然还有一个原因,将在后面的提到)。
5、Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集。默认是用ISO-8859-1编码
6、Get是Form的默认方法。
追问
<form action=Servlet?name=yelu method=get>在这个方式下 在servlet中用request.getParamter("name")方法取到null,而我换成post提交方式就能接收到值了,,为什么啊????????
我为什么get提交出错啊
本回答被提问者和网友采纳
般若兮若 | 推荐于2017-09-30 00:13:55
评论
get请求的数据出现在url当中(http协议头),以?分割url和传输的数据,参数之间以&相连。英文字母/数字,原样发送;空格转换为%;中文/其他字符,直接把字符串用base64加密,%xx表示xx为16进制数;post把提交数据放置在http包的包体中 。
根据HTTP1.1协议,请求的报文由请求行、请求头 和请求数据(包体)组成。 使用get方法请求链接,要传的数据在报文的请求行,而不在报文的请求数据中,因此在servlet中用request.getParamter("name")方法取到null;使用post时,数据是在报文的请求数据的中,因此能够取到值。
追问
使用get方法请求链接,要传的数据在报文的请求行,而不在报文的请求数据中,因此在servlet中用request.getParamter("name")方法取到null;使用post时,数据是在报文的请求数据的中,因此能够取到值。 ???????????这句话听不怎么明白
paster0909 | 发布于2012-10-24
评论
get是在浏览器的地址栏中显示的标出你所传递源数据的网页表单地址,也就是Servlet的地址
而post是在浏览器的地址栏中将所传递源数据的网页表单地址加密后显示在浏览器中,也就是Servlet的地址。总之,就是post比get更具有安全性
yangxiaqi | 推荐于2018-03-13 12:39:22
评论
收起 其他1条回答

为您推荐:

×

类别

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

说明

0/200

提交
取消