JServletのWebアプリケーションのディレクトリ構成について教えてください。Servletから呼び出すclassやjarをWEB-INF/classes、WEB-INF/lib配下に配置した場合も、サーブレット環境定義ファイルの環境変数設定で、CLASSPATHに設定しておく必要がありますか?

Interstage Application Serverの技術情報はこちら

JServletのWebアプリケーションのディレクトリ構成について教えてください。
Servletから呼び出すclassやjarをWEB-INF/classes、WEB-INF/lib配下に配置した場合も、サーブレット環境定義ファイルの環境変数設定で、CLASSPATHに設定しておく必要がありますか?
ドキュメントルート配下のWEB-INF/classesとWEB-INF/libは、自動的にclassの検索対象となるため、CLASSPATHに含める必要はありません。
しかし、ドキュメントルート配下に置かれたファイルは動的なリロード機能を実現するために、CLASSPATHに設定したものを呼び出す時とは別のクラスローダーによって、管理されています。
そのため、以下の条件を満たす場合は、classを呼び出すことができません(Webアプリケーションごとに異なります)。
  • ドキュメントルートの異なるWebアプリケーションから呼び出されている。

  • Class.forNameメソッドを使用している。

上記に該当する場合は、複数のWebアプリケーションから呼び出される共通のclass、およびjarをCLASSPATHに設定してください。
ただし、この場合は、リロード機能を使用することができませんので、ご注意ください。

製品・サービス区分 Interstage
製品・サービス情報
対象製品 Interstage Application Server
バージョン V5, V4
プラットフォーム Windows, Solaris, Linux
アンサー種別 設計/開発
このページの先頭へ