eclipse - Jersey、REST 和 web.xml 在 Eclipse 中运行时禁用@ServerEndpoint websocket

标签 eclipse rest tomcat jakarta-ee jersey

我知道这是一个duplicate ,但这个问题还没有得到回答!

如果加载了 REST servlet,则我的 ServerEndpoint 未加载。如果我重命名 web.xml 套接字按预期工作。我在 tomcat9 上运行这个应用程序。这是我的端点:

@ServerEndpoint(value = "/talk/{BenutzerID}/{Grad}/{Accesskey}")//, encoders = MessageEncoder.class, decoders = MessageDecoder.class)`
public class talk {

//static Set<Session> peers = Collections.synchronizedSet(new HashSet<Session>());

public talk()
{
    System.out.println("Talk started! " + this.getClass().toString());
}

@OnOpen
public void onOpen(@PathParam("BenutzerID") Long BenutzerID,
        @PathParam("Grad") long Kontaktgrad,
        @PathParam("Accesskey") String Accesskey, 
        Session session) {

这是我的 web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
  <display-name>Archetype Created Web Application</display-name>
  <servlet>
    <servlet-name>jersey-serlvet</servlet-name>
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    <init-param>
      <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
      <param-value>true</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>jersey-serlvet</servlet-name>
    <url-pattern>/rest/*</url-pattern>
  </servlet-mapping>
</web-app>

最佳答案

清理 Tomcat 后,websocket 正常工作。

关于eclipse - Jersey、REST 和 web.xml 在 Eclipse 中运行时禁用@ServerEndpoint websocket,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50357843/

相关文章:

Android Eclipse DDMS - 无法从 Root设备中提取文件

java - 在 Mac 上测试 BB 应用程序?

java - 如何知道 Azure 中的虚拟机是否已停止

web-services - 为什么我的本地网站无法访问我本地的 REST 服务?

java - 我可以配置 Eclipse/JBoss 集成,使其不依赖于将 Jars 部署到 "server/default/deploy"文件夹吗?

android - 如何让 Eclipse 识别 R 和 Android 的 Lunar Lander 中的资源?

Android Volley 给我 400 错误

c# - ASP.NET 和 C# : where do you store the rest client url?

linux - 在 ubuntu 中从 Chroot 内部运行服务器

java - 在 Intellij IDEA 中调试部署到 Tomcat 的 Java Web App