为了账号安全,请及时绑定邮箱和手机立即绑定

没有类路径扫描的 Java Servlet (Tomcat 9) 中的 WebSocket

没有类路径扫描的 Java Servlet (Tomcat 9) 中的 WebSocket

白板的微信 2021-10-06 12:47:17
我试图在没有类路径扫描的情况下在 Java Servlet (Tomcat 9) 中设置 WebSocket,但我遇到了这个错误: javax.websocket.DeploymentException: Multiple Endpoints may not be deployed to the same path [/test/{accountId}] : existing endpoint was [class probotdev.websocket.Test] and new endpoint is [class probotdev.websocket.Test]    at org.apache.tomcat.websocket.server.WsServerContainer.addEndpoint(WsServerContainer.java:169)    at org.apache.tomcat.websocket.server.WsServerContainer.addEndpoint(WsServerContainer.java:232)这是我的web.xml:<web-app version="3.0" metadata-complete="true" ...>    <absolute-ordering/>    <listener>        <listener-class>probotdev.websocket.WebSocket</listener-class>    </listener>    ...</web-app>和WebSocket班级:class WebSocket extends ServletContextListener {    override def contextInitialized(sce: ServletContextEvent): Unit = {        val container = sce.getServletContext.getAttribute("javax.websocket.server.ServerContainer").asInstanceOf[ServerContainer]        container.addEndpoint(classOf[Test])    }}最后是Test课程:@ServerEndpoint("/test")class Test {    @OnOpen    def onOpen(session: Session): Unit = {        println("Bla!")    }    ...}
查看完整描述

1 回答

?
慕运维8079593

TA贡献1876条经验 获得超5个赞

web.xml的配置使 Tomcat 不扫描类路径(对于 servlet 等),但它仍在扫描 WebSocket 内容

我的解决方案?只需删除WebSocket extends ServletContextListener该类。


查看完整回答
反对 回复 2021-10-06
  • 1 回答
  • 0 关注
  • 352 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信