<dependency>
<groupId>jakarta.websocket</groupId>
<artifactId>jakarta.websocket-api</artifactId>
<version>2.1.1</version>
</dependency>
import jakarta.websocket.*;
import jakarta.websocket.server.ServerEndpoint;
@ServerEndpoint("/websocket")
public class MyWebSocketServer {
@OnOpen
public void onOpen(Session session) {
}
@OnMessage
public void onMessage(String message, Session session) {
}
@OnClose
public void onClose(Session session) {
}
@OnError
public void onError(Throwable error) {
}
}
import jakarta.websocket.server.ServerContainer;
import jakarta.websocket.server.ServerEndpointConfig;
import org.apache.tomcat.websocket.server.*;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRegistration;
import javax.servlet.ServletSecurityElement;
import javax.servlet.annotation.WebServlet;
import jakarta.websocket.server.*;
@WebServlet(name = "WebSocketConfig", urlPatterns = "/config", loadOnStartup = 1)
public class WebSocketConfig extends javax.servlet.http.HttpServlet {
@Override
public void init() throws ServletException {
super.init();
ServletContext context = getServletContext();
ServerContainer container = (ServerContainer) context.getAttribute(ServerContainer.class.getName());
ServerEndpointConfig config = ServerEndpointConfig.Builder.create(MyWebSocketServer.class, "/websocket").build();
container.addEndpoint(config);
}
@Override
public void destroy() {
ServletContext context = getServletContext();
ServerContainer container = (ServerContainer) context.getAttribute(ServerContainer.class.getName());
container.removeEndpoint(MyWebSocketServer.class);
super.destroy();
}
}
import jakarta.websocket.*;
@ServerEndpoint("/websocket")
public class MyWebSocketServer {
@OnOpen
public void onOpen(Session session) {
}
@OnMessage
public void onMessage(String message, Session session) {
}
@OnClose
public void onClose(Session session) {
}
@OnError
public void onError(Throwable error) {
}
}