JServletのWebアプリケーションのディレクトリ構成について教えてください。Servletから呼び出すclassやjarをWEB-INF/classes、WEB-INF/lib配下に配置した場合も、サーブレット環境定義ファイルの環境変数設定で、CLASSPATHに設定しておく必要がありますか?
Interstage Application Serverのよくあるご質問を検索できます。
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 | ||||||
---|---|---|---|---|---|---|---|
製品・サービス情報 |
|
||||||
アンサー種別 | 設計/開発 |