我正在尝试用websockets制作我自己的聊天客户端,我想我应该从Tomcat 7 websocket chat example code.开始。我已经使用Eclipse成功地编译和部署了ChatAnnotation类,但是当我将chat.html文件重定向到我认为的端点时,什么也没有发生。
In the sample class,它们有一个@ServerEndpoint(value = "/websocket/chat")注释,我不确定我需要做什么(即在web.xml中)才能在服务器启动时加载那个类并绑定那个端点。
我在构造函数中设置了断点,以查看在部署时是否创建了断点。
发布于 2014-11-27 16:09:55
这里是“小魔术”:
您的必须在您的类路径中有一个接口ServerApplicationConfig的实现:
应用程序可以提供此接口的实现,以过滤已部署的已发现WebSocket端点。此类的实现将通过ServletContainerInitializer扫描被发现。
如果使用Tomcat示例,则{CATALINA_BASE}\webapps\examples\WEB-INF\classes\websocket\ExamplesConfig.java中存在一个类(随已编译的.class一起提供)
最后但并非最不重要的一点:当Tomcat发现时,您不必在WEB-INF/web.xml中注册任何servlet。这个文件必须存在,但只包含最少的内容。
发布于 2013-12-04 04:10:06
您不需要在web.xml中进行任何特殊配置。您是否在本地正确版本的Tomcat上运行它?此注释仅适用于Tomcat 7.0.47。此外,如果您使用的是Maven,这是我使用的依赖项-它指定了websocket-api以便编译代码,但假设运行时环境将提供必要的库。您可以在tomcat-7.0.47/lib中找到websocket-api.jar & tomcat7-websocket.jar
<dependency>
<groupId>javax.websocket</groupId>
<artifactId>javax.websocket-api</artifactId>
<version>1.0</version>
<scope>provided</scope>
</dependency>https://stackoverflow.com/questions/15589375
复制相似问题