Servlets 在Tomcat 7中使用HTTPServletRequest.authenticate时出现空指针异常

Servlets 在Tomcat 7中使用HTTPServletRequest.authenticate时出现空指针异常,servlets,tomcat7,Servlets,Tomcat7,我有一个基于servlet的RESTAPI。我必须根据路径参数有条件地打开/关闭身份验证。我将规则存储在数据库中。 因此,我发现servlet3.0提供了HTTPServletRequest.authenticate,可用于以编程方式启动登录。 因此,我在web.xml中添加了以下内容 <login-config> <auth-method>BASIC</auth-method> </login-config> 但我得到一个空指针异常 jav

我有一个基于servlet的RESTAPI。我必须根据路径参数有条件地打开/关闭身份验证。我将规则存储在数据库中。 因此,我发现servlet3.0提供了HTTPServletRequest.authenticate,可用于以编程方式启动登录。 因此,我在web.xml中添加了以下内容

<login-config>
 <auth-method>BASIC</auth-method>
</login-config> 
但我得到一个空指针异常

java.lang.NullPointerException
org.apache.catalina.connector.Request.authenticate(Request.java:2603)
org.apache.catalina.connector.RequestFacade.authenticate(RequestFacade.java:1059)

我是否缺少任何配置?非常感谢您的帮助。

您能提供更多关于响应来源的上下文吗?看起来org.apache.catalina.connector.Request.authenticate正在查看response.isCommitted,如果响应为null,这显然会导致NPE。响应对象来自ServletFilter的my doFilter方法。您是否在ServletFilter中设置断点以验证调用authenticate时响应是否为非null?是。我检查了响应是否为非空
java.lang.NullPointerException
org.apache.catalina.connector.Request.authenticate(Request.java:2603)
org.apache.catalina.connector.RequestFacade.authenticate(RequestFacade.java:1059)