Java doGet()和doPost()在流方面有什么区别?
就流程而言,我知道doGet()是预处理,dopost是后处理,但这是什么?Java doGet()和doPost()在流方面有什么区别?,java,servlets,Java,Servlets,就流程而言,我知道doGet()是预处理,dopost是后处理,但这是什么? doGet()和doPost()是由servlet类处理的HTTP请求 在doGet()中,参数被附加到URL并随URL一起发送 标题信息。在doPost()的情况下不会发生这种情况。在里面 doPost(),参数将单独发送。因为大多数网站 服务器只支持有限数量的附加信息 标头,此标头的大小不应超过1024字节。 doPost()没有此约束。通常程序员会找到它 很难在doGet()和doPost()之间进行选择 当数据
doGet()
和doPost()
是由servlet类处理的HTTP请求
在doGet()中,参数被附加到URL并随URL一起发送
标题信息。在doPost()的情况下不会发生这种情况。在里面
doPost(),参数将单独发送。因为大多数网站
服务器只支持有限数量的附加信息
标头,此标头的大小不应超过1024字节。
doPost()没有此约束。通常程序员会找到它
很难在doGet()和doPost()之间进行选择
当数据量小且不敏感时,应使用doGet()
就像查询必须作为请求发送一样。doPost()应在以下情况下使用:
必须发送相对大量的敏感数据。例子
在填写表单或发送登录id和
密码
就流程而言,我知道doGet()是预处理,dopost是后处理,但这是什么呢
实际上,这些方法与“预处理”和“后处理”无关
要理解这些方法的用途,您需要对HTTP协议有一些基本的了解
HTTP是一种请求-应答协议:客户端(例如web浏览器)发送请求,服务器(例如web服务器)以应答进行响应。每个请求由一个“请求行”、一系列“标题”行和可选的“正文”组成。典型的请求行如下所示:
GET http://www.w3.org/pub/WWW/TheProject.html HTTP/1.1
这条线的三个部分是:
- HTTP请求方法(例如“GET”)
- URL(例如“”),以及
- 协议版本(例如“HTTP/1.1”)
Servlet
API中的doGet
和doPost
方法分别是处理httpget和POST请求的方法。事实上,还有其他“doXxxx”方法与其他标准HTTP方法匹配。。。除了连接。(CONNECT的语义不适用于servlet…)
有关更多信息,请参阅和
HttpServlet
,文档可能会为您回答这个问题,例如,其中说“由服务器(通过服务方法)调用以允许servlet处理GET请求。”我想添加GET(如HEAD)如果这些响应是从缓存中获取的(摘自上面引用的HTTP 1.1规范)=>GET应该只用于读取某些内容,而不用于更改,那么任何资源的方法都不应该有副作用,从而导致错误行为something@SergeBallesta-注意到。我不会这么做,因为我不打算给出一个关于HTTP方法的完整教程。我想解释的是servletdoXxx
方法的(真正)用途。