Java 连接到'的WebSocket;ws://localhost:8080/WebsocketHome/actions';失败:WebSocket握手期间出错:意外响应代码:404

Java 连接到'的WebSocket;ws://localhost:8080/WebsocketHome/actions';失败:WebSocket握手期间出错:意外响应代码:404,java,websocket,java-websocket,Java,Websocket,Java Websocket,我想通过websocket与服务器通信,但现在的问题是每次我尝试使用var connection=new-websocket('ws://localhost:8080/WebsocketHome/actions')建立连接时显示“WebSocket握手期间出错:意外响应代码:404”错误。我正在使用JBossV4.0服务器。我使用的Jar文件是“jboss-websocket-api_1.1_spec-1.1.3.Final.Jar”。我尝试了stackoverflow上提供的所有解决方案 下面

我想通过websocket与服务器通信,但现在的问题是每次我尝试使用
var connection=new-websocket('ws://localhost:8080/WebsocketHome/actions')建立连接时显示“WebSocket握手期间出错:意外响应代码:404”错误。我正在使用JBossV4.0服务器。我使用的Jar文件是“jboss-websocket-api_1.1_spec-1.1.3.Final.Jar”。我尝试了stackoverflow上提供的所有解决方案

下面是代码DeviceWebSocketServer.java

package websocket;

import java.io.IOException;

import javax.websocket.OnClose;
import javax.websocket.OnError;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;

@ServerEndpoint("/actions")
public class DeviceWebSocketServer
{
    @OnOpen
    public void onOpen(Session session) {
        System.out.println("onOpen::" + session.getId());        
    }
    @OnClose
    public void onClose(Session session) {
        System.out.println("onClose::" +  session.getId());
    }

    @OnMessage
    public void onMessage(String message, Session session) {
        System.out.println("onMessage::From=" + session.getId() + " Message=" + message);

        try {
            session.getBasicRemote().sendText("Hello Client " + session.getId() + "!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    @OnError
    public void onError(Throwable t) {
        System.out.println("onError::" + t.getMessage());
    }
}
web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <display-name>WebsocketHome</display-name>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>
</web-app>

韦氏体
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
以下是项目结构


404
代码与
HTTP404
相同,因此我建议您检查您的地址。我不知道jboss是如何工作的,但你不应该从地址中删除
/WebsocketHome
?谢谢@SepGH的回复,但我的问题已经解决了,问题是jboss,因为jboss 4不支持websocket。只有jboss版本7和更高版本支持websocket,apache tomcat 7和更高版本亲爱的@ashishpandey我的ejb模块中的websocket有问题。如何解决HTTP404问题?我正在使用Jboss Eap 7.2,我在这里提供了代码:您能看一下吗?
404
代码与
Http 404
相同,所以我建议您检查一下您的地址。我不知道jboss是如何工作的,但你不应该从地址中删除
/WebsocketHome
?谢谢@SepGH的回复,但我的问题已经解决了,问题是jboss,因为jboss 4不支持websocket。只有jboss版本7和更高版本支持websocket,apache tomcat 7和更高版本亲爱的@ashishpandey我的ejb模块中的websocket有问题。如何解决HTTP404问题?我正在使用Jboss Eap 7.2,我在这里提供了代码:您能看一下吗?