获取Java中“web content”文件夹的绝对路径

时间:2014-11-29 10:16:32

标签: java jsp servlets absolute-path

我想在源代码中获取Web content文件夹的绝对路径,以便我可以检索另一个文件夹来上传文件。

我尝试ServletActionContext.getServletContext().getRealPath("images")在源代码中获取文件夹图片。

预期结果应为

  

“C:\学习\工作区\的Eclipse \ boxingsaigon \的WebContent \图像”

但它让我回到了部署网站的地方:

实际结果

  

“C:\学习\工作区\ Eclipse.metadata.plugins \ org.eclipse.wst.server.core \ TMP0 \ wtpwebapps \ boxingsaigon \图像”

有没有办法做到这一点?

2 个答案:

答案 0 :(得分:0)

获得绝对路径的方法是正确的。

可以获得完整路径
ServletActionContext.getServletContext().getRealPath("images");   

但是获得路径C:\Learning\Workspace\Eclipse.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\boxingsaigon\images是部署实际Web应用程序的路径。

如果将已部署的路径更改为tomcat webapps目录,则会为您提供该目录的路径 您可以获取实际源代码所在的路径。

From Doc

 ServletContext.getRealPath() returns the absolute file path on the server's 
 filesystem would be served by a request for
 "http://host/contextPath/index.html", where contextPath is the 
 context path of this ServletContext..

答案 1 :(得分:0)

你可以试试这个:

public String getRealFile(HttpServletRequest request, String path) {
  return request.getSession().getServletContext().getRealPath(path);
}

希望这有帮助。