1

組み込みの Jetty 9 サーバーで SSL 接続を介して HTTP POST 経由で情報を受信するサーブレットを使用して、単純なログイン フォームを作成しました。サーブレットは想定どおりに情報を受け取りますが、サーブレットが jetty が実行されているアプリケーションと通信する方法を見つけることができませんでした。組み込みモードで Jetty を使用するためのドキュメントは非常に不足しているようで、持っていませんでした主題に関する一般的な検索を行うことに成功した場合。要するに、組み込みの Jetty 9 サーバーでホストされている HTML ログイン フォームから、Jetty が実行されているアプリケーションに情報を取得するにはどうすればよいでしょうか?

4

1 に答える 1

0

組み込みモードの例については、git リポジトリを参照してください。

http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/tree/examples/embedded/

サーブレットからアプリケーションへの通信には多くのオプションがありますが、それらはすべてアプリケーション側でイベント ドリブンになります。

2 オプションの例 (これを実現するには多くの方法があります。これは 2 つの簡単な例にすぎません):

  1. MyApplicationシングルトンでメソッドを呼び出すだけです。
    • オブジェクトへの参照をMyApplication静的MyServlet.appフィールドに入れます。
    • app.somethingHappened()何が起こったかを伝えたい場合は、サーブレットでyour を呼び出します。
  2. リスナーの比喩。
    • MyServletListenerアプリケーションに知らせたいイベントを表すメソッドを使用して作成します
    • 実装MyApplicationするMyServletListener
    • MyApplicationMyServlet.init()への参照を取得する
    • さまざまなMyServlet.doGet()またはMyServlet.doPost()スタイルの処理呼び出しで、MyServletListener通信するアクションの適切なイベントを呼び出します。

注: これらは単純な例であり、スレッドとスレッド化は扱っていません。しかし、それはまったく別のトピックです。

于 2013-01-22T21:00:25.957 に答える