在编写servlet时,我可以使用response.setStatus(500)
和response.sendError(500)
,这两者之间的区别是什么?
setStatus
可以用连续的setStatus
用另一个代码推翻。相反,sendError
立即将错误代码发送给客户端,无法撤消。对于错误,您应该使用sendError
。
至少在Servlet 2.4+中,两种方法之间还有另一个细微差别:
response.sendError(500)
将重定向到配置的错误页面(在web.xml
中)为该状态代码,而response.setStatus(500)
假定您提供响应正文,容器不检查匹配的错误页面声明。