如果我在httpservletrequest上调用setStatus方法,但实际上没有发送响应(使用requestdispatcher,或者使用writer写出响应),状态代码是否真的被发送了?
例如,在doPost中,我所做的就是以下内容,而不是其他内容:
response.setStatus(HttpServletResponse.SC_REQUEST_ENTITY_TOO_LARGE);
该代码是否实际上是在返回给客户端的响应上设置的,还是我实际上必须使用requestdispatcher或写出一些响应?
我问,因为我在发出doPost请求后使用了需要200响应的服务。
答案 0 :(得分:0)
已发送,但如果您担心,请执行
response.setStatus(HttpServletResponse.SC_REQUEST_ENTITY_TOO_LARGE);
response.flushBuffer();
Flushing the buffer提交回复。