11

我正在开发网络服务。我想向401: Unauthorized用户返回无效凭据的响应。

如何手动返回此响应代码?

4

3 回答 3

20

对于 401 之类的错误状态代码,请使用更具体的sendError()

httpResponse.sendError(HttpServletResponse.SC_UNAUTHORIZED, "your message goes here");

这会处理所有事情,它设置状态代码并写入响应。

于 2014-02-03T22:33:27.590 回答
15

假设您使用的是 servlet,您可以使用以下setStatus方法将 http 状态设置为 401:

httpResponse.setStatus(HttpServletResponse.SC_UNAUTHORIZED);

HttpServlet响应信息

于 2013-01-18T06:46:38.353 回答
0

我从AustinBodgan的答案中学到了以下内容,这可能会为其他寻找此答案的人节省一些时间。

对我来说,正确的答案是Bodgand 的

httpResponse.sendError(HttpServletResponse.SC_UNAUTHORIZED, "your message goes here");

原因是使用该sendError方法抛出的响应被web.xml过滤器捕获

因此,如果您在web.xml过滤器中指定了这个:

<error-page>
    <error-code>401</error-code>
    <location>/errors/401.jsp</location>
</error-page>

sendError当您使用该方法时,您只会看到该错误页面。

于 2019-05-06T16:23:11.760 回答