【发布时间】:2016-02-19 12:24:51
【问题描述】:
我有一个使用 Maven 在 Jetty 上运行的 websocket Web 应用程序。
通过我在客户端、服务器和 web.xml 文件中所做的所有设置,我希望应用程序能够在 localhost:8080/wsservlet 上运行。但是,我只能在 localhost:8080 上运行它。
谁能帮我理解为什么以及如何解决这个问题?谢谢。
MyServlet.java
@WebServlet(name = "WebSocketServlet", urlPatterns = { "/wsservlet" })
public class MyServlet extends WebSocketServlet {
@Override
public void configure(WebSocketServletFactory factory) {
factory.register(MyWebSocket.class);
}
}
和
MyWebsocket.java
@ServerEndpoint("/wsservlet")
public class MyWebSocket {
...
}
在我的 html 文件中,我还创建了一个 websocket:
webSocket = new WebSocket("ws://localhost:8080/wsservlet");
我的 web.xml:
<web-app>
<display-name>WebSocketApp</display-name>
<servlet>
<servlet-name>wsservlet</servlet-name>
<servlet-class>com.example.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>wsservlet</servlet-name>
<url-pattern>/wsservlet</url-pattern>
</servlet-mapping>
</web-app>
【问题讨论】:
标签: java web websocket server jetty