組み込みの Jetty 9 サーバーで SSL 接続を介して HTTP POST 経由で情報を受信するサーブレットを使用して、単純なログイン フォームを作成しました。サーブレットは想定どおりに情報を受け取りますが、サーブレットが jetty が実行されているアプリケーションと通信する方法を見つけることができませんでした。組み込みモードで Jetty を使用するためのドキュメントは非常に不足しているようで、持っていませんでした主題に関する一般的な検索を行うことに成功した場合。要するに、組み込みの Jetty 9 サーバーでホストされている HTML ログイン フォームから、Jetty が実行されているアプリケーションに情報を取得するにはどうすればよいでしょうか?
質問する
1018 次
1 に答える
0
組み込みモードの例については、git リポジトリを参照してください。
http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/tree/examples/embedded/
サーブレットからアプリケーションへの通信には多くのオプションがありますが、それらはすべてアプリケーション側でイベント ドリブンになります。
2 オプションの例 (これを実現するには多くの方法があります。これは 2 つの簡単な例にすぎません):
MyApplication
シングルトンでメソッドを呼び出すだけです。
- オブジェクトへの参照を
MyApplication
静的MyServlet.app
フィールドに入れます。 app.somethingHappened()
何が起こったかを伝えたい場合は、サーブレットでyour を呼び出します。
- オブジェクトへの参照を
- リスナーの比喩。
MyServletListener
アプリケーションに知らせたいイベントを表すメソッドを使用して作成します- 実装
MyApplication
するMyServletListener
- MyApplication
MyServlet.init()
への参照を取得する - さまざまな
MyServlet.doGet()
またはMyServlet.doPost()
スタイルの処理呼び出しで、MyServletListener
通信するアクションの適切なイベントを呼び出します。
注: これらは単純な例であり、スレッドとスレッド化は扱っていません。しかし、それはまったく別のトピックです。
于 2013-01-22T21:00:25.957 に答える