流量的差异,我知道doGet()是预处理,而dopost是后处理,但那是什么?
答案 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中的doPost
和Servlet
方法分别是处理HTTP GET和POST请求的方法。事实上还有其他的" doXxxx"匹配其他标准HTTP方法的方法......除了CONNECT之外。 (CONNECT的语义不适用于servlet ......)
有关详细信息,请参阅HTTP 1.1 Specification和HttpServlet
javadoc。
答案 1 :(得分:10)
doGet()
和doPost()
是由servlet类处理的HTTP请求。在doGet()中,参数将附加到URL并随之一起发送 标题信息。在doPost()的情况下不会发生这种情况。在 doPost(),参数分别发送。由于大部分网络 服务器仅支持附加的有限数量的信息 标头,此标头的大小不应超过1024个字节。 doPost()没有这个约束。通常程序员都会找到它 很难在doGet()和doPost()之间做出选择。
当少量数据和不敏感数据时,应使用doGet() 像查询一样必须作为请求发送。当使用doPost()时 必须发送相对大量的敏感数据。例子 填写表格或发送登录ID后发送数据 密码。