setstatus(500)和senderror(500)之间有什么区别

问题描述 投票:0回答:2

在编写servlet时,我可以使用response.setStatus(500)response.sendError(500),这两者之间的区别是什么?

java servlets java-ee
2个回答
2
投票

setStatus可以用连续的setStatus用另一个代码推翻。相反,sendError立即将错误代码发送给客户端,无法撤消。对于错误,您应该使用sendError

https://tomcat.apache.org/tomcat-5.5-doc/servletapi/javax/servlet/http/HttpServletResponse.html#sendError(int)


0
投票

至少在Servlet 2.4+中,两种方法之间还有另一个细微差别:

response.sendError(500)将重定向到配置的错误页面(在web.xml中)为该状态代码,而response.setStatus(500)假定您提供响应正文,容器不检查匹配的错误页面声明。

© www.soinside.com 2019 - 2024. All rights reserved.