Servlets 如何在Jetty中指定WebSocketServlet的URL?

Servlets 如何在Jetty中指定WebSocketServlet的URL?,servlets,annotations,jetty,websocket,Servlets,Annotations,Jetty,Websocket,我已经阅读并希望在Jetty上使用WebSocketServlet创建一个简单的echo websocket 我创建了我的WebSocketServlet,如下所示: public class ChatSocketServlet extends WebSocketServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) t

我已经阅读并希望在Jetty上使用
WebSocketServlet
创建一个简单的echo websocket

我创建了我的
WebSocketServlet
,如下所示:

public class ChatSocketServlet extends WebSocketServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) 
        throws ServletException, IOException {
        PrintWriter out = response.getWriter();
        out.println("<!DOCTYPE html><html><body><h1>Chat</h1></body></html>");
    }

    @Override
    public WebSocket doWebSocketConnect(HttpServletRequest request, String protocol) {
        return new ChatWebSocket();
    }

    class ChatWebSocket implements OnTextMessage {

        private Connection connection;

        @Override
        public void onClose(int closeCode, String message) {
            System.out.println("onClose");
        }

        @Override
        public void onOpen(Connection connection) {
            this.connection = connection;
        }

        @Override
        public void onMessage(String data) {
            try {
                connection.sendMessage(data);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }

}

但它返回
未找到
。是否有任何其他注释来指定
WebSocketServlet
的URL?我也不知道从这个servlet上的
doGet
获取输出的URL。

你的web.xml文件中的URL映射是什么?@nico_ekito:我没有
web.xml
我只使用注释
@WebServlet(“/HelloServlet”)
,但它似乎不适用于此。由于Websocket不是JEE规范的一部分,我将尝试使用一个web.xml文件:)@Jonas你成功地使它工作了吗?我也有同样的问题。即使我可以从我的websocket客户端获得http 200,但它仍然会强制关闭连接。
ws://localhost:8080/MyJavaWeb/ChatWebSocket