首先,post是一种通过邮寄的方式,在浏览器的地址栏不显示提交的信息,但是这种方式传递的数据是没有限制的。
1、post提交数据是隐式的,get是通过在url里面传递的(可以看一下你浏览器的地址栏),用来传递一些不需要保密的数据。
2、用get时,传输数据的大小有限制 (注意不是参数的个数有限制),为2K;而post没有此限制。
3、还有用GET的时候在SERVLET中要用DOGET方法,用POST就要用DOPOST方法。这是JSP在处理GET和POST的时候在JAVA 角度看的不同。
4、还有一点需要注意哦,通过get方式来获取参数用的方法和通过post方式有些区别:
post:request.getParameter("");
get: request.QueryString("");
<注:用get方式提交时,我也用request.getParameter()来获得传递的参数,尽管已经设置request.setCharacterEncoding(“utf-8”),但是得到的中文参数一直是乱码。但我没有用后种方式获得参数,我是直接改为post,中文显示就正常了。>
在tomcat8.1及以上版本中,使用form表单提交数据,不管是post方式还是get方式,设置编码都可以使用request.setcharacterEncoding("UTF-8");进行设置。这样就可以让在界面输入的汉字再显示再接收界面时也是汉字。
但是,在TOMCAT7中,在form表单中,使用get方式提交,就算设置了编码:request.setcharacterEncoding("UTF-8");也会出现乱码情况。而对于这一问题的解决方法就是:new String(xxx.getBytes("ISO8859-1"),"UTF-8");这里的xxx是你想设置编码的变量。
还有用GET的时候在SERVLET中要用DOGET方法,用POST就要用DOPOST方法。这是JSP在处理GET和POST的时候在JAVA 角度看的不同。