0

これは単体テストでうまく機能します。ファイルを取得し、コンテンツを印刷できます。これをサーバーにデプロイすると、FilenotFoundExcpetion が発生します。この理由は何ですか?Tomcatにデプロイしています。

String path = "WebContent/images/image.jpeg";

FileSystemResource resource = new FileSystemResource(path);

File image = resource.getFile();
4

3 に答える 3

1

コンテキスト パスを使用して作業中のプロジェクトに場所を移動すると、images/image.jpg について述べたように独自のパスを保存できます。

  String path = request.getSession().getContextPath().getRealPath("/")+"images/image.jpg";

参考になりそうです!!

于 2012-10-18T12:40:40.023 に答える
0

Web アプリをサーバーにデプロイする場合、WebContent フォルダーは暗黙的です。

Web サーバーのコンテキスト内で実行する場合は、String path = "/images/image.jpeg"; を使用します。

また

Class.getResourceAsStream() を使用する

于 2012-10-18T08:28:35.060 に答える
0
String path = "WebContent/images/image.jpeg";

これは相対パスです。Tomcat のようなサーブレット コンテナーにデプロイされた場合は、デプロイ ディレクトリまたは Tomcat のホーム ディレクトリからの相対パスになります。おそらく、Webconent という名前のディレクトリはありません。WebContent のコンテンツは、おそらく戦争の中にあるのではないでしょうか。

私は2つの解決策を考えることができます

  • またはgetRealPathにアクセスできる場合はメソッドを使用しますrequestServletContext
  • ClassPathResourceファイルを入れることができる場合に使用しますWEB-INF\classes
于 2012-10-18T08:28:57.837 に答える