5

Java Web サービス ( JAX-WS ) の学習を始めたばかりで、1 つの質問があります。リファレンス ドキュメントでは、常に Web サービス コンテナーについて説明しています。私の質問は、Web サービス コンテナーとは何か、なぜそれが必要なのかということです。本「Java Web Services up and running」で、Web サービスが以下を使用して公開されている JAX-WS の簡単な例を見ました。

Endpoint.publish("http://127.0.0.1:9876/ts", new TimeServerImpl());

この例では、Web サーバー / アプリケーション サーバーまたは任意のコンテナーで Web サービスをホストする必要はありませんでした。

このWebサービスにもアクセスできました。

では、コンテナとは何ですか? なぜ Web サービスにコンテナが必要なのでしょうか?

4

3 に答える 3

5

基本的には、Java サーブレットを実行できるものだけが必要です。典型的な例は、Tomcat、Glassfish、JBoss、Jetty などです。

これらのうち、Tomcat はサーブレット コンテナー「のみ」であり (JBoss と Glassfish は J2EE アプリケーション サーバー)、サーブレット仕様のリファレンス実装であるため、最も軽量です。多くの IDE 統合とそれを使用するチュートリアルも見つかります。

于 2009-08-13T15:53:49.890 に答える
1

さまざまなベンダー(Websphere、Weblogic、JBoss)によるWebサービス仕様の実装はサーブレットを介して行われるため、このサーブレットをサポートするにはサーブレットコンテナーが必要になります。このサーブレットは、ブラウザから送信するプレーンなHTTPベースのPOST / GETではなく、SOAPベースのトラフィック(SOAPヘッダーと本文を含むHTTPトラフィック)を処理するように特別に設計されています。

于 2009-08-17T19:29:07.323 に答える
0

作成した Web サービスはコンテナー (この場合はサーバー) で実行されています。サーバーは、それぞれが独自のコンテナーを持つ複数のアプリケーションを実行できます。コンテナは、ソースに含まれる Java を実行するためのスタンドアロン環境を提供するために必要です。

コンテナーはセキュリティを提供するため、問題が原因で 1 つのアプリケーションがクラッシュしても、他のアプリケーションはクラッシュしません。実装に応じて、各コンテナーは独自の VM で実行することも、複数の VM で実行することもできます。基本的に、他のコードとは別の環境でコードを実行するために存在します。

コンテナーの概念に関する古い (っぽい) ドキュメントを次に示します基本的に、単一のアプリケーション (Web サーバー) を介して制御される Java で複数のアプリケーションを同時に実行するのと同じように、異なる安全なコンテナーで実行できます。

于 2009-08-17T19:34:16.753 に答える