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 但出现以下错误
我的 JavaScript 项目看起来不错,当我访问 webapp: 我的本地主机并访问 WebSocketJavaScriptProject
尽管在控制台中 window 得到错误:与 'ws://localhost:8080/WebsocketHome/actions' 的 WebSocket 连接失败:WebSocket 握手期间出错:意外响应代码:404
我的代码在这里:https://github.com/darkcloudi/WebSocketProject
我的应用程序与 Oracle 上的示例之间的区别在于我将其拆分为两个项目,一个是服务,另一个是 Web 应用程序。
我不明白为什么我会收到 404,因为服务 .war 文件名为 WebsocketHome。有什么想法会导致这个问题吗?通常找不到 404 所以猜测它找不到服务,我确定我在做一些愚蠢的事情但无法弄清楚问题出在哪里
谢谢
握手期间发生错误,因为 Tomcat 有自己的 api 用于 websockets。因此,您可能在 pom.xml 中添加了 JSR 实现或类似于 javax.websocket-api 的内容,在运行时会发生冲突。
尽量不要将您的 Websocket 库导出到您的网络服务器,因此它使用自己的实现。
如果你使用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。
然后仅添加您在服务器端点文件中导入的内容。
我正在学习 websockets 并按照此处的说明进行操作:http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/HomeWebsocket/WebsocketHome.html
我正在使用 tomcat v8.0.21 部署我的 webapp 但出现以下错误
我的 JavaScript 项目看起来不错,当我访问 webapp: 我的本地主机并访问 WebSocketJavaScriptProject
尽管在控制台中 window 得到错误:与 'ws://localhost:8080/WebsocketHome/actions' 的 WebSocket 连接失败:WebSocket 握手期间出错:意外响应代码:404
我的代码在这里:https://github.com/darkcloudi/WebSocketProject
我的应用程序与 Oracle 上的示例之间的区别在于我将其拆分为两个项目,一个是服务,另一个是 Web 应用程序。
我不明白为什么我会收到 404,因为服务 .war 文件名为 WebsocketHome。有什么想法会导致这个问题吗?通常找不到 404 所以猜测它找不到服务,我确定我在做一些愚蠢的事情但无法弄清楚问题出在哪里
谢谢
握手期间发生错误,因为 Tomcat 有自己的 api 用于 websockets。因此,您可能在 pom.xml 中添加了 JSR 实现或类似于 javax.websocket-api 的内容,在运行时会发生冲突。
尽量不要将您的 Websocket 库导出到您的网络服务器,因此它使用自己的实现。
如果你使用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。 然后仅添加您在服务器端点文件中导入的内容。