在tomcat上部署应用程序时找不到文件

时间:2012-10-18 08:20:07

标签: spring tomcat servlets

这在单元测试中工作正常。我得到了文件,可以打印内容。当我在服务器上部署它时,我得到一个FilenotFoundExcpetion。这可能是什么原因?我正在tomcat上部署。

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

FileSystemResource resource = new FileSystemResource(path);

File image = resource.getFile();

3 个答案:

答案 0 :(得分:1)

使用上下文路径为您的工作项目带来位置,然后您可以存储您自己的路径,就像您提到的images / image.jpg

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

我想它会对你有所帮助!!

答案 1 :(得分:0)

将Web应用程序部署到服务器上时,WebContent文件夹是隐式的。

在Web服务器使用的上下文中执行时 String path =“/ images / image.jpeg”;

使用Class.getResourceAsStream()

答案 2 :(得分:0)

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

这是一个相对路径,当部署在像tomcat这样的servlet容器中时,它将相对于您的部署目录或tomcat的主目录。可能你没有名为Webconent的目录。 WebContent的内容也许也可能在战争中。

我能想到两个解决方案

  • 如果您有权访问getRealPathrequest
  • ,请使用ServletContext方法
  • 如果您可以将文件置于ClassPathResource
  • ,请使用WEB-INF\classes