1

私が知っていたように、Java ServletContext と Context Objects は、Java EE プログラム開発の中で一般的に使用されます。ただし、それらの違い、特にコンテキストクラスの使用法についてはよくわかりません。

私が理解したことから、ServletContext は Web.xml から読み取ったすべての初期化を含むオブジェクトであり、Web アプリケーション内のすべてのサーブレットがそれらのグローバル構成を共有できるようにします。

一方、私は通常、JNDI ルックアップでデータベース接続を動的に確立する必要がある場合にのみ Context Object を使用していました。それに加えて、このクラスの他の可能な用途については明確ではありません。

私の主な関心事は、ServletContext クラスと Context クラスの両方の「コンテキスト」ワードが、Web アプリケーション内の同じものまたはコンポーネントを表しているかどうかです。

4

1 に答える 1

3

javadocからServletContext

ファイルの MIME タイプの取得、リクエストのディスパッチ、ログ ファイルへの書き込みなど、サーブレットがサーブレット コンテナと通信するために使用する一連のメソッドを定義します。

基本的には、サーブレット環境へのアクセサーです。サーブレットに関連するものはすべて、そこから取得できます。実際には、サーブレット コンテナーでのみ役に立ちます。

JNDI javadoc _Context

このインターフェイスは、一連の名前からオブジェクトへのバインディングで構成されるネーミング コンテキストを表します。これらのバインディングを検査および更新するためのメソッドが含まれています。

これはリソースへのインターフェースです。このインターフェイスを介して取得できる識別子を使用してリソースを構成します。これは、サーブレット コンテナでのみ使用することに限定されません。たとえば、ネットワークに接続されているデバイスのリストをLDAPリポジトリに保存することができます。このリポジトリにアクセスするには、プロトコルを実装して LDAP サーバーと対話するカスタム コードを記述するか、LdapContextクラスを実装するContextクラスを使用することができます。または、それを使用して JDBC を検索することもできますDataSource

名前が同じだからといって気にしないでください。彼らは異なる目標を持っています。

この回答Contextは、別のコンテキストで見るときに役立つ場合があります。

于 2013-03-28T03:05:45.063 に答える