問題のシナリオ:
サードパーティのオープンソーステンプレートエンジンの実装により、ダウンロード世界の文書、POI-TL、この問題が最初に発生し、それが第三者に依存しています
絶対パスのみを読み取ることができますが、後から新しいファイルを写真でプロジェクトを読み込むときに、問題がありました
ソリューション:
Webルートへの絶対パスを取得するための要求を使用します
要約:
ウェブルートのリソースでファイルを読み込むときjavawebプロジェクト、唯一の物理パスを使用することができます(J:\ ideaWorkspace \ EMSystem \ Webrootの\を)
javawebプロジェクトの新しいファイル(「./ AA」)と新しいファイル( 『AA』)では動作しません
1)クラスパスに取得するXXX.class.getClassLoader()のgetResource(「」);.メソッドを呼び出すためのJavaのクラスローディング機構の使用は、その後、ウェブルートディレクトリを取得するプロセスは、(これは、ウェブルート/ WEB-INF内のクラスへの唯一の方法です/クラスはjarファイルにパッケージ化されている場合、有効にするには、クラスを下げ、メソッドは失敗します。この場合、次の1つの方法を使用する必要があります)
2)取得した物理パスを使用して、サーブレットは、ウェブルートを要求します
3)思考スプリングフレーム、WEB-INF / web.xmlのは、webAppRootKey PARAMのキーとして指定された値(デフォルトwebapp.root)を作成し、[文字列webAppRootKeyザリスナー、またはフィルタ、またはサーブレット=によって実行されます。のgetServletContext()getRealPath(「/」);及びwebAppRootKey webapp.rootそれぞれのシステムプロパティに書き込まれたキー、値システムプロパティに対応します。ウェブルートはSystem.getProperty(「webapp.root」)によってプログラム内の物理パスを取得した後
私が使用している最初の二つの方法は、それを三分の一を試していません