我在我的 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 中使用 <security-constraint>。它应该是一个非常非常简单的身份验证。
知道为什么 Tomcat 不工作但 Jetty 可以吗?