【发布时间】:2014-11-01 22:54:26
【问题描述】:
我应该在 web.xml 中添加什么来启动服务器端。我启动了码头,但只有 ui 工作服务器端没有运行
我有下一个文件夹树:
src
|-main
|-java
| |-com
| |-example
| |-test
| |-ServerSide.java
|-webapp
|-index.html
|-WEB-INF
|-web.xml
服务器端类
package com.example.test;
import java.io.IOException;
import java.util.Date;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;
@ServerEndpoint("/testbattle")
public class ServerSide {
@OnOpen
public void onOpen(Session session) throws IOException {
System.out.println("Welcome" + new Date());
session.getBasicRemote().sendText("Hello websockets");
}
}
【问题讨论】:
-
我认为
web.sml只是一个拼写错误,文件的名称确实是web.xml,对吧?不管怎样,如果ServerSide是一个servlet,你应该把servlet和servlet-mapping元素放在你的web.xml 中。或者您可以在您的 servlet 类上使用@WebServlet注释,在这种情况下您不需要在 web.xml 中指定任何内容。 -
是的,你是对的,这是一个错字。但是当我将
servlet放入 web.xml 时,它需要实现 servlet。它会导致我在这里描述的另一个问题stackoverflow.com/questions/26690910/… -
这是合乎逻辑的。如果您在 web.xml 中注册 servlet,它实际上必须是一个 servlet。你能分享一下你的 ServerSide 类的代码吗?
-
我只是无法理解不需要实现 servlet 和 maven web 项目的动态 web 项目之间的区别
-
好吧,我的印象是 ServerSide 是一个普通的 HTTP Servlet,而不是 Websocket 端点。在这种情况下,您不需要实现 Servlet 接口。
标签: java xml maven jakarta-ee web.xml