没有WebApp,WebSockets无法正常工作

Thr*_*eaT 9 java bugzilla tomcat embedded-tomcat-8

这有效:

String webappDir = "...";
context = tomcat.addWebapp("/", new File(webappDir).getAbsolutePath());
Run Code Online (Sandbox Code Playgroud)

这不是:

context = tomcat.addContext("/", new File("").getAbsolutePath());
Run Code Online (Sandbox Code Playgroud)

webappDir在这个实例中我真的不需要,因为我没有提供任何JSP页面或客户端资源,我只是使用response.getWriter().println(...);服务器端.

抛出没有异常,websocket根本无法打开.

我可以假设这是一个tomcat错误吗?

Kon*_*nko 1

如果您查看测试(源代码中的 test/org/apache/tomcat/websocket),它们确实

tomcat.addContext("", null);
Run Code Online (Sandbox Code Playgroud)

请注意,传递null而不是上下文路径需要最近的 Tomcat 8(不超过几个月)。当前版本是8.0.22。

我可以假设这是一个 tomcat 错误吗?

“提交错误之前”的规则是在用户的邮件列表上询问,而不是在 stackoverflow 上询问。