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

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

你传递的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的默认方法。追问

在这个方式下 在servlet中用request.getParamter("name")方法取到null,而我换成post提交方式就能接收到值了,,为什么啊????????
我为什么get提交出错啊

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-10-24
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时,数据是在报文的请求数据的中,因此能够取到值。 ???????????这句话听不怎么明白

第2个回答  2015-12-09
可以简单的理解为:
1 get明文传输,信息附加在url上面,get明文传输,post更加安全
2 get传输有大小限制,应该是3k,post需要制定传输类型
3 get多用于获取数据,根据get变量的不同调用不同的数据,post多用于提交数据,提交用户输入的数据
第3个回答  推荐于2018-03-13
get是在浏览器的地址栏中显示的标出你所传递源数据的网页表单地址,也就是Servlet的地址
而post是在浏览器的地址栏中将所传递源数据的网页表单地址加密后显示在浏览器中,也就是Servlet的地址。总之,就是post比get更具有安全性

servlet中form提交get与post的区别
1、Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据。2、Get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL。3、...

Jsp 和 servlet中Get方法和Post方法的区别
1:请求数据的大小不同。因为get请求的数据是要追加到URL中,而URL的数据量一般不能超过2K,所以用get请求的方法对数据的大小有限制。而post请求方法是把数据放在消息体中,所以理论上对数据量没有限制。(但是实际操作中也不能能太大)2:安全性不一样 因为get请求的数据是追加在URL中,外部用户能很...

get和post的区别并讲解到urlencode和乱码问题
form有2中方法把数据提交给服务器,get和post,分别说下吧。(一)get提交 1.首先说下客户端(浏览器)的form表单用get方法是如何将数据编码后提交给服务器端的吧。对于get方法来说,都是把数据串联在请求的url后面作为参数,如:http:\/\/localhost:8080\/servlet?msg=abc (很常见的一个乱码问题就要出...

JSP,Servlet中get请求和post请求的区别总结
1、get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。2、对于get方式,服务器端用Request.QueryString获取变量的值,对...

JSP,Servlet中get请求和post请求的区别总结
>1. get是从服务器上获取数据,post是向服务器传送数据。>2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。>...

JSP页面中form标签里method为get时调用什么,post时调用什么?
其实method的get和post方法的功能是一样的,都是将表单form中的元素传递给servlet进行处理。相对应的,servlet获取数据时需要调用doget和dopost方法,或者service方法。而在我们编程序时,竟在把功能性代码放入一个方法内,例如放入doget内,在dopost内只需要写一句,调用doget的方法则可。doget(request,...

Servlet中doGet与doPost的区别..
post:form中method属性为post。2、客户端数据传送方式 get:表单数据存放在URL地址后面。所有get方式提交时HTTP中没有消息体;post:表单数据存放在HTTP协议的消息体中以实体的方式传送到服务器。3、服务器获取数据方式 get:服务器采用Servlet中的doGet来获取变量的值;post:服务器采用Servlet中的doPost来...

form表单提交方法get可以,但用post提交却不行,我想知道为什么
form 里的 method 方法与servlet里的方法名有直接关系 method='get' servlet里就必须用doGet来处理,method=‘post’ 那servlet就要用doPost来处理,还有,你说说看你用post的时候报什么错。

Servlet的post 和 get方法,搞晕了???
简单的说,get是通过http header来传输数据,有数量限制,而post则是通过http body来传输数据,没有数量限制.servlet就是专门用来处理http请求的,所以对应不同数据传输方式的两种方法就是doGet()和doPost().在里面直接写 html代码不能显示到页面上,不过可以用以下代码实现:PrintWriter out=response....

from 表单提交的问题?
楼主所说的再from里 不写post 与用超链接传不过去参数应该是没有关系的!from 表单里默认的get! 一般建议用post,用get会产生很多问题,例如传中文会导致乱码,不能传送大量数据,不安全等!用超链接默认的get方式,这个是不可更改的! 希望可以帮到你 ...

相似回答