gpt4 book ai didi

java - HTTP 基本身份验证 : Tomcat vs Jetty

转载 作者:行者123 更新时间:2023-11-28 23:49:33 24 4
gpt4 key购买 nike

我在我的 servlet 中使用(简单的)基本身份验证,它适用于 Jetty 7.6 服务器,但在 Tomcat 6.0.35 中,我在尝试发送未经授权的响应以显示用户名/密码表单时遇到错误在浏览器中:

java.lang.IllegalStateException
org.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.java:421)

我的 servlet 中的代码如下所示:

response.setHeader("WWW-Authenticate", "Basic realm=\"" + realm + "\"");
response.sendError(HttpServletResponse.SC_UNAUTHORIZED);

错误发生在代码示例的第二行。我没有在 web.xml 中使用 。它应该是一个非常非常简单的身份验证。

知道为什么 Tomcat 不工作而 Jetty 可以吗?

最佳答案

确保:

  1. 在您的 servlet 运行之前,您没有任何过滤器产生输出
  2. 在请求过程中你只调用了一次response.setStatus/response.sendError
  3. 您没有刷新响应缓冲区

以上任何一项都可以在您预期之前提交响应。

关于java - HTTP 基本身份验证 : Tomcat vs Jetty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10740714/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com