一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

JSP之get方法和post方法的区别

时间:2016-08-15 编辑:简简单单 来源:一聚教程网

1:提交 表单的方法不同

使用get方法提交表单,请求的参数在请求的头部,可以通过request.getQueryString()方法获取请求参数,

且request.getContentLength()方法返回值为-1;使用post方法提交表单,请求的参数存放在请求体里,所

request.getQueryString方法获取不到请求参数,request.getContentLength()可以获得请求体的长度。

通过get方法提交表单,因为请求表单存放在请求的头部,所以会在浏览器地址栏显示;而通过post方法提

交则不会在地址栏显示,相对安全些。并且由于不同浏览器对地址栏的长度各有不同的限制,故采取get方法

提交,则请求参数的长度也会受到限制,而用post方法提交的请求请求参数放在请求体里,请求体长度没有限制,则请求参数长度也没有限制。

get方法提交表单是用字符方式提交,而post提交表单字符和字节方式都行。


通过实例了解post和get的http请求过程


通过上面的分析,已经对GET和POST有所了解,也能感觉到他俩有着本质上的区别就是一个是拿来,一个是要更新修改。


下面就通过HTTPLOOK软件来看看他们是怎样进行HTPP请求的,它们到底是怎样进行传输的。


首先建立两个jsp页面用来测试:


第一个页面是post_get_jsp(代码如下):

 代码如下 复制代码


<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
http://www.w3.org/TR/html4/loose.dtd">



Insert title here


 

http://localhost:8080/post_get/test.jsp" method="get">
  
  
 


第二个页面是test.jsp(代码如下):

 

 代码如下 复制代码

<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
http://www.w3.org/TR/html4/loose.dtd">

<%
 String a=request.getParameter("text1");
 out.println(a);
%>





Insert title here

 

ddfdgdg


 

简单说一下http请求:


在HTTP请求中,第一行必须是一个请求行(request line),用来说明请求类型、要访问的资源以及使用的HTTP版本。紧接着是一个首部(header)小节,用来说明服务器要使用的附加信息。在首部之后是一个空行,再此之后可以添加任意的其他数据。

 开始测试post提交


http请求如下:

 

开始测试get提交

http请求如下:

POST与GET区别

①.  GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。

②. 从上面的http请求中就能看出,GET提交是将请求的数据附加到URL之后,用?分割、参数用&连接。并且字符串已经被加密。而post的提交是放到了http包中。从这点看来GET请求的地址栏会改变,RUL附加上了请求的数据,而POST地址栏不会改变,UTL没有变化。更加深一层看GET的安全性不高,很容易暴露信息。

③. 另外虽然http协议没有对传输数据大小进行限制也没有对url长度进行限制,但是实际情况中浏览器对url进行限制,这样GET的传输数据大小随着URL长度被限制而受到限制。反观POST由于不是通过URL传值,所以没有限制。

热门栏目