无法从资源中读取文件

时间:2016-02-11 13:24:39

标签: java tomcat

我试图从src / main / resources读取文件(xml,图像)。但它不起作用。我的资源文件夹是Source文件夹。例如,当我试图读取log4j.xml tomcat在C:/ bin中寻找它时...我也无法从资源中读取图像。我只能从webapp上阅读它。我读过,tomcat自动将文件从资源替换为webinf,但我认为它在我的情况下不起作用。 请帮忙。我什么都不知道。Proof, that it doesnt work

2 个答案:

答案 0 :(得分:1)

即使将png添加到WEB-INF文件夹中,也无法从您的案例中的JSP页面访问它。

在运行时,JSP页面呈现为一个在响应中返回HTML代码的servlet。然后,浏览器将解析您的代码<img src="/Pajero.png" ... />,并将请求发送到YOUR_HOST / Pajero.png网址以访问该图像并获取错误代码404,因为客户端无法访问WEB-INF文件夹的内容在Java Web应用程序中。

也许最好将图像放在webapp文件夹中。

答案 1 :(得分:0)

ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("log4j.xml").getFile());

您可以使用类似的东西从类路径中获取资源。

此致