Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何让servlet实现CometProcessor接口的请求通过过滤器_Java_Comet_Servlet Filters_Url Pattern - Fatal编程技术网

Java 如何让servlet实现CometProcessor接口的请求通过过滤器

Java 如何让servlet实现CometProcessor接口的请求通过过滤器,java,comet,servlet-filters,url-pattern,Java,Comet,Servlet Filters,Url Pattern,我有一个servlet实现,我正试图让到达这个servlet的请求通过一个过滤器。在下的web.xml中指定servlet不会使对servlet的请求通过过滤器。我还尝试实现CometFilter,并在下的web.xml中指定了实现CometProcessor的servlet。 我得到以下错误- Jan 29, 2013 12:10:04 PM org.apache.catalina.connector.CoyoteAdapter service - SEVERE: An exception o

我有一个servlet实现,我正试图让到达这个servlet的请求通过一个过滤器。在下的web.xml中指定servlet不会使对servlet的请求通过过滤器。我还尝试实现CometFilter,并在下的web.xml中指定了实现CometProcessor的servlet。 我得到以下错误-

Jan 29, 2013 12:10:04 PM org.apache.catalina.connector.CoyoteAdapter service - SEVERE: An exception or error occurred in the container during the request processing
java.lang.NullPointerException
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:430)
    at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:396)
    at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:356)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1534)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

谢谢你的意见,我发现我错在哪里了。
我在实现CometFilter时犯了一个错误。我阅读了CometFilter类本身中的文档,发现我需要实现doFilterEvent方法,而不是doFilter方法。现在它工作正常,对servlet处理器的请求被传递到这个过滤器

显示红豆杉出错的行,例如CoyoteAdapter.java:430@vickyCoyoteAdapter是一个标准的Tomcat类。最简单的方法是将源代码附加到IDE和调试请求中。在service()方法中与Commet相关的某些逻辑中似乎存在问题。请显示CommetProcessor实现代码。CometProcessor代码与tomcat.apache.org/tomcat-6.0-doc/aio.html中的聊天示例完全相同。调试时,这是CoyoteAdapter类中发生异常的点-((上下文)logAccess(请求、响应、系统.currentTimeMillis()-req.getStartTime(),false);request.getMappingData()。上下文为空。