繁体   English   中英

WebSocket握手:意外的响应代码:404 -

[英]WebSocket handshake: Unexpected response code: 404 -

我正在学习websockets并遵循这里的说明: http//www.oracle.com/webfolder/technetwork/tutorials/obe/java/HomeWebsocket/WebsocketHome.html

我使用tomcat v8.0.21来部署我的webapp但是出现以下错误

当我访问webapp时,我的JavaScript项目看起来很好:我的localhost并访问WebSocketJavaScriptProject

虽然在控制台窗口中出现错误:WebSocket连接到'ws:// localhost:8080 / WebsocketHome / actions'失败:WebSocket握手期间出错:意外响应代码:404

我的代码住在这里: https//github.com/darkcloudi/WebSocketProject

我的应用程序和Oracle上的示例之间的区别是我将它拆分为两个项目一个服务和另一个Web应用程序。

我无法弄清楚为什么我会得到404作为服务.war文件被称为WebsocketHome。 什么会导致这个问题? 通常找不到404所以猜测它无法找到服务,我敢肯定我做的事情很愚蠢但是无法弄清楚问题出在哪里

谢谢

握手期间发生错误,因为Tomcat有自己的websi api。 因此,您可能在pom.xml中添加了JSR实现或类似javax.websocket-api的东西,在运行时会出现冲突。

尽量不要将Websocket-library导出到您的Web服务器,因此它使用自己的实现。

如果使用maven,请按提供的方式设置websocket依赖项:

<!-- Provided Websocket API, because tomcat has its own implementation -->
<dependency>
    <groupId>javax.websocket</groupId>
    <artifactId>javax.websocket-api</artifactId>
    <version>1.1</version>
    <scope>provided</scope>
</dependency>

我也有同样的问题。 尝试删除$ JAVA_HOME / lib文件夹中包含websocket的不需要的jar。 然后只添加您在serverendpoint文件中导入的内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM