3

我正在做一个 javaEE 应用程序,我正在使用 spring 注入我的 ejbs 和 WAS7,目前我正在 Windows 环境中运行它,但最终它将在 unix 环境中运行。所以我创建了一个java类作为我的spring控制器,我应该从jsp获取一些数据并将其转换为excel。因此,当我尝试从我的网络内容文件夹中获取图像时,我可以将其放入我的 excel 中,但找不到文件。这是我到目前为止没有成功的尝试:

    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 根相对路径(使用斜杠“/”)转换为文件。如果战争没有在部署时自行解包,getRealPath 将返回 null。

于 2012-12-26T17:19:03.710 回答
1

您的文件被打包在 *.war 存档中,因此它不是文件系统上的独立文件(就像它正在开发中一样)尝试使用 getClass().getClassLoader.getResourceAsStream() 来获取它

于 2012-12-26T17:18:53.250 回答