您可以在下面找到所有代码, 启动了tomcat服务器,它完美无缺。 但在制作websocket请求时,我收到404错误。 这是chrome控制台中的错误:
WebSocket连接到' ws:// localhost:8088 / websocket-example / websocket'失败:WebSocket握手期间出错:意外的响应代码:404
并且没有服务器日志。
Java WebSocket代码:WebSocketTest.java
<!DOCTYPE html>
<html>
<head>
<title>HTML Frames</title>
</head>
<frameset cols="100%">
<frame name="left" src="navigation-bars.html" />
<noframes>
<body>
Your browser does not support frames.
</body>
</noframes>
</frameset>
</html>
JS代码:hello.html
package com.websockets;
import java.io.IOException;
import javax.websocket.OnClose;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;
@ServerEndpoint("/websocket")
public class WebSocketTest {
@OnMessage
public void onMessage(String message, Session session) throws IOException,
InterruptedException {
System.out.println("Message: " + message);
session.getBasicRemote().sendText("Hello Mr. " + message);
}
@OnOpen
public void onOpen() {
System.out.println("Client connected");
}
@OnClose
public void onClose() {
System.out.println("Connection closed");
}
}
的web.xml
var webSocket = new WebSocket('ws://localhost:8088/websocket-example/websocket');
tomcat / webapps下的文件夹结构..
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<welcome-file-list>
<welcome-file>hello.html</welcome-file>
</welcome-file-list>
</web-app>
更多信息:
java版本&#34; 1.7.0_75&#34;
Apache的Tomcat的8.0.32
服务器运行端口:8088
我不确定这些信息是否足够,让我知道需要调试的其他任何细节吗?
答案 0 :(得分:0)
从$ JAVA_HOME / lib中删除不需要的jar。 然后添加了javax.websocket-api-1.0-rc4.jar然后它工作正常。