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

Ada*_*Lee 5 java servlets jakarta-ee

写servlet的时候可以用 response.setStatus(500)and response.sendError(500),这两者有什么区别?

Yer*_*roc 6

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

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


Eri*_*ler 4

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

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