2

Tomcat 8 で「Echo」websocket の例をセットアップしようとしています。websocket クラスについて tomcat に伝えるステップが欠落していると思います。

これが私がやったことです:

  • Eclipse で新しい動的 Web プロジェクトを作成し、Maven を追加し、Tomcat 8 ランタイムをリンクしました。
  • EchoAnnotation.java、EchoEndpoint.java、ExamplesConfig.java、および echo.xhtml をプロジェクトにコピーしました。
  • アプリを開始しました。

アプリを起動すると、echo.xhtml ファイルに移動できますが、どの URL を入力しても、Web ソケットにアクセスする方法がわかりません。常に 404 が返されます。 、websocket クラスが読み込まれていないようです。

通常、web.xml またはその他のフレームワーク構成でクラス構成をセットアップしますが、Tomcat8 SVN (またはその他の xml) のサンプル web.xml で一致する構成を見つけることができませんでした。

これがどのように行われるかについての洞察はありますか?

ありがとう!


ソースコード

EchoAnnotation.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/クラス/websocket/エコー

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>
4

1 に答える 1

2

理解した。war ベースの webapps の最新バージョンは、コンポーネントのスキャンを自動的に行います。私はこれを含めていたので、そうではありませんでした:

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

于 2013-12-22T17:05:57.493 に答える