【发布时间】:2018-04-21 17:19:30
【问题描述】:
我环顾四周,之前问过这个问题,但没有得到完整的答案。当您从 doGet() 或 doPost() 明确返回时,无论您是否对任何内容进行了编码,都会发送响应。如果是这样,默认代码是什么?只需 response.setStatus() 并返回就足够了吗?如果不是:所以我总是手动发回响应?不使用 forward 或 redirect 的默认响应方式是什么?
【问题讨论】:
-
您必须设置状态,根据您发送的状态,您可能需要发送响应正文。如果您只返回状态 200,您可以不发送正文,但浏览器上的响应将是一个空白页面。阅读 HTTP RFC 以了解更多关于这意味着什么:tools.ietf.org/html/rfc2616
-
所以当你说 response.getWriter()).write 是什么发回响应?还是必须转发回页面?什么机制发送响应?
-
是的,设置状态和写入结果,这会将东西发送回客户端,确保完成后调用flush(),某些实现不会自动刷新。
标签: servlets