Jakarta ee 连接到websocket时出现错误404

Jakarta ee 连接到websocket时出现错误404,jakarta-ee,websocket,Jakarta Ee,Websocket,这是我的服务器端点: import java.util.logging.Level; import java.util.logging.Logger; import javax.websocket.OnClose; import javax.websocket.OnError; import javax.websocket.OnMessage; import javax.websocket.OnOpen; import javax.websocket.Session; import javax.

这是我的服务器端点:

import java.util.logging.Level;
import java.util.logging.Logger;
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("/mediador")
public class Mediador {

    private final static Logger LOGGER = Logger.getLogger(Mediador.class.getName());

    @OnOpen
    public void onOpen(Throwable t) {
        LOGGER.log(Level.INFO, "Método Mediador.onOpen");
    }

    @OnError
    public void onError(Session aclientSession, Throwable aThrowable) {
        System.out.println("Error : " + aclientSession);
        System.out.println("Error :" + aThrowable);
    }

    @OnMessage
    public void onMessage(Throwable t) {
        LOGGER.log(Level.INFO, "Método Mediador.onMessage");
    }

    @OnClose
    public void onClose(Throwable t) {
        LOGGER.log(Level.INFO, "Método Mediador.onClose");
    }

}
这是我的websocket客户端:

var ws = new WebSocket("ws://" + document.location.host + "/chp/mediador");
// also tried this
// var ws = new WebSocket("ws://" + document.location.host + "/mediador");
console.log(ws);

ws.onerror = function (event) {
    console.log("error " + ws);
};

ws.onopen = function (evento) {
    console.log("abierto");
    ws.send("hola");
}

ws.onmessage = function (evento) {
    console.log(evento.data);
}
我在jsf模板中编写了这段代码,所以jsf应用程序中的所有页面都运行它

当我尝试连接时,出现以下错误:


到“ws://localhost:8080/chp/mediador”的WebSocket连接失败:WebSocket握手过程中出错:意外响应代码:404

有时事情是单独解决的

也许这是图书馆的问题。我已经做了一个清理,然后部署,现在它正在运行


谢谢

ws://localhost:8080/chp/mediador
更改为
ws://localhost:8080/mediador
尝试改用此
var ws=new-WebSocket(“ws://”+document.location.host+document.location.pathname+“mediador”)哪个服务器impl/version?已经尝试了ws://localhost:8080/mediador和“ws://”+document.location.host+document.location.pathname+“/mediador”,但得到了相同的错误。我使用的是Tomcat 8.0.15