4

Websocket を使用して独自のチャット クライアントを作成しようとしていますが、Tomcat 7 Websocket チャット サンプル コードから始めようと考えました。. Eclipseを使用してクラスを正常にコンパイルおよびデプロイしましたChatAnnotationが、chat.html ファイルをエンドポイントのあるべき場所にリダイレクトしても、何も起こりません。

サンプルクラスには@ServerEndpoint(value = "/websocket/chat")注釈があり、サーバーの起動時にそのクラスをロードしてそのエンドポイントをバインドするために何をする必要があるか (つまり、web.xml で) がわかりません。

コンストラクターにブレークポイントを配置して、デプロイ時に作成されているかどうかを確認しましたが、そうではありません。

4

2 に答える 2

4

これが「小さな魔法」です。

クラスパスにインターフェースの実装が必要です。ServerApplicationConfig

アプリケーションは、デプロイされた検出された WebSocket エンドポイントをフィルタリングするために、このインターフェースの実装を提供する場合があります。このクラスの実装は、ServletContainerInitializer スキャンによって検出されます。

Tomcat サンプルを使用すると、クラスが存在します{CATALINA_BASE}\webapps\examples\WEB-INF\classes\websocket\ExamplesConfig.java(コンパイル済みの .class が付属しています) 。


最後になりましたが、Tomcatが物事を発見WEB-INF/web.xmlするので、 . このファイルは存在している必要がありますが、最小限のものがあります。

于 2014-11-27T08:09:54.807 に答える