我将尝试开发一个Java EE 7的Web应用程序,其中使用了WebSocket端点,并将其部署在Jetty服务器上。
该应用程序具有以下结构:
WebSocketEndpoint已经正确注释,并在Netbeans/Glassfish4上运作良好,然而,该应用程序必须部署在Jetty服务器上。
因此,我的问题是 - 如何将websocket端点映射到web.xml文件中的URL /game?我找到了许多映射servlet的示例,但我不认为这适用于服务器端点。
或者,是否有一种方法可以为Jetty编写一个web.xml文件,使其自动发现所有已注释的类/方法(类似于上述的beans.xml)?
该应用程序具有以下结构:
Game/
src/
main/
java/
game/
WebSocketEndpoint.java
webapp/
index.html
scripts/
variousjavascriptstuff.js
WEB-INF/
beans.xml
web.xml
在beans.xml文件中:
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
bean-discovery-mode="annotated">
WebSocketEndpoint已经正确注释,并在Netbeans/Glassfish4上运作良好,然而,该应用程序必须部署在Jetty服务器上。
因此,我的问题是 - 如何将websocket端点映射到web.xml文件中的URL /game?我找到了许多映射servlet的示例,但我不认为这适用于服务器端点。
或者,是否有一种方法可以为Jetty编写一个web.xml文件,使其自动发现所有已注释的类/方法(类似于上述的beans.xml)?
javax.websocket.server.ServerContainer
的javadoc中,提到这是一种访问“启用websocket的Web容器”的ServerContainer
的标准过程(例如,请参见:https://github.com/eclipse-ee4j/websocket-api/blob/master/api/server/src/main/java/javax/websocket/server/ServerContainer.java)。 - Remigius Stalder