3

私は javaEE アプリケーションを実行しており、Spring を使用して ejbs と WAS7 を注入しています。現在は Windows 環境で実行していますが、最終的には UNIX 環境で実行します。そこで、Spring のコントローラーとして機能する Java クラスを作成し、jsp からデータを取得して Excel に変換することになっています。そのため、web-content フォルダーから画像を取得しようとすると、それを Excel y に入れることができ、ファイルが見つかりません。これは私がこれまで成功せずに試したことです:

    String path = File.separatorChar + "img" + File.separatorChar +  File.separatorChar + "logoCorporativo.jpg";
    System.out.println(path);

    try {
        FileInputStream fis = new FileInputStream(path);
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

        String path = File.separator + "img" + File.separator +  File.separator + "logoCorporativo.jpg";
        System.out.println(path);

    try {
        FileInputStream fis = new FileInputStream(path);
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

ブラウザに「http://localhost:9080/AdminMapasWeb/img/logoCorporativo.jpg」と入力すると、画像が表示されることがわかりました。

FileNotFound 例外を受け取っている人はいますか? 前もって感謝します。

4

2 に答える 2

2

使用する

File file = getRequest().getServletContext().getRealPath("/img/logoCorporativo.jpg");

getRealPath は、URL ルートの相対パス (スラッシュ "/" を使用) をファイルに変換します。war が展開時に展開されない場合、getRealPath は null を返します。

于 2012-12-26T17:19:03.710 に答える
1

ファイルは *.war アーカイブ内にパッケージ化されているため、ファイル システム上のスタンドアロン ファイルではありません (開発中のように) getClass().getClassLoader.getResourceAsStream() を使用して取得してみてください

于 2012-12-26T17:18:53.250 に答える