doGet()和doPost()在流程方面有什么区别?

时间:2014-11-20 13:06:10

标签: java servlets

流量的差异,我知道doGet()是预处理,而dopost是后处理,但那是什么?

2 个答案:

答案 0 :(得分:16)

  

流量的差异,我知道doGet()是预处理,而dopost是后处理,但那是什么?

实际上,这些方法与"预处理"无关。和"后期处理"。

要了解这些方法的用途,您需要对HTTP协议有一些基本的了解。

HTTP是请求 - 回复协议:客户端(例如,web浏览器)发送请求,并且服务器(例如,web服务器)以回复进行响应。每个请求都包含一个"请求行",一系列"标题"线和任选的"身体"。典型的请求行如下所示:

  GET http://www.w3.org/pub/WWW/TheProject.html HTTP/1.1

这一行的三个部分是:

实际上,HTTP规范定义了8种标准HTTP请求方法(GET,PUT,POST,DELETE,HEAD,OPTIONS,TRACE和CONNECT),每种方法都有不同的含义。 (其他方法由其他规范定义。)

doGet API中的doPostServlet方法分别是处理HTTP GET和POST请求的方法。事实上还有其他的" doXxxx"匹配其他标准HTTP方法的方法......除了CONNECT之外。 (CONNECT的语义不适用于servlet ......)

有关详细信息,请参阅HTTP 1.1 SpecificationHttpServlet javadoc

答案 1 :(得分:10)

This link Detail

  

doGet()doPost()是由servlet类处理的HTTP请求。

     

在doGet()中,参数将附加到URL并随之一起发送   标题信息。在doPost()的情况下不会发生这种情况。在   doPost(),参数分别发送。由于大部分网络   服务器仅支持附加的有限数量的信息   标头,此标头的大小不应超过1024个字节。   doPost()没有这个约束。通常程序员都会找到它   很难在doGet()和doPost()之间做出选择。

     当少量数据和不敏感数据时,应使用

doGet()   像查询一样必须作为请求发送。当使用doPost()时   必须发送相对大量的敏感数据。例子   填写表格或发送登录ID后发送数据   密码。