2013-12-21 91 views
2

我試圖在Tomcat 8上設置「Echo」websocket示例。我相信我錯過了告訴tomcat關於websocket類的步驟。Tomcat 8示例:配置丟失步驟

這裏是我做了什麼:

  • 創建Eclipse的一個新的動態Web項目,添加行家,並鏈接Tomcat的運行時間8
  • 複製EchoAnotation.java,EchoEndpoint.java,ExamplesConfig.java和echo.xhtml到項目中。
  • 啓動應用程序。

當我啓動應用程序時,我可以導航到echo.xhtml文件,但無論輸入什麼網址,我似乎都無法弄清楚如何到達網絡套接字 - 我總是得到404 。在構造函數中放置斷點,它看起來像websocket類沒有被加載。

通常你設置在web.xml或一些其他的框架配置類配置,但是我無法找到在Tomcat8 SVN的例子web.xml中匹配的配置(或其他任何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> 
+0

後這裏的相關代碼。 –

+0

我從我發佈的鏈接複製了三個java文件和一個xhtml文件。這是來自Tomcat8 SVN的Websocket示例。 – Jason

+0

添加了我的網頁。xml和更多信息 – Jason

回答

2

了它。最新版本的基於war的webapps會自動執行組件掃描。我沒有,因爲我已經包括這個:

如果你有tomcat包括在內,請不要包括!上的WebSocket端點

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

參考:

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

+0

非常感謝!我有完全相同的問題,並解決了這個問題。 –

+0

很高興幫助! – Jason