Tomcat 8示例:缺少配置步骤

时间:2013-12-21 21:37:03

标签: java websocket tomcat8

我正在尝试在Tomcat 8上设置“Echo”websocket示例。我相信我错过了告诉tomcat有关websocket类的步骤。

这就是我所做的:

  • 在Eclipse中创建了一个新的动态Web项目,添加了maven,并链接了tomcat 8运行时
  • 将EchoAnotation.java,EchoEndpoint.java,ExamplesConfig.java和echo.xhtml复制到项目中。
  • 启动了该应用。

当我启动应用程序时,我可以导航到echo.xhtml文件,但无论我输入什么网址,我似乎无法弄清楚如何访问网络套接字 - 我总是得到404.放置断点在构造函数中,看起来没有加载websocket类。

通常你在web.xml或其他一些框架配置中设置类配置,但我在Tomcat8 SVN(或任何其他xml)的示例web.xml中找不到匹配的配置。

有关如何做到这一点的任何见解?

谢谢!


源代码

EchoAnotation.java,EchoEndpoint.java,ExamplesConfig.java位置

http://svn.apache.org/viewvc/tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/ http://svn.apache.org/viewvc/tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/echo

Echo.xhtml位置

http://svn.apache.org/viewvc/tomcat/trunk/webapps/examples/websocket/

示例web.xml位置

http://svn.apache.org/viewvc/tomcat/trunk/webapps/examples/WEB-INF/

我的web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
      version="3.0"> 
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>
</web-app>

1 个答案:

答案 0 :(得分:2)

想出来。最新版本的基于war的Web应用程序会自动执行组件扫描。我不是,因为我把它包括在内:

如果您包含tomcat,请不要包括!

    <dependency>
        <groupId>javax.websocket</groupId>
        <artifactId>javax.websocket-api</artifactId>
        <version>1.0</version>
    </dependency>

Websocket端点参考:

https://tyrus.java.net/documentation/1.3.3/index/deployment.html