绝对路径的相对URL

时间:2014-10-09 08:36:24

标签: java jsp

我想要做的是阅读html文件的内容。点击一个链接,应该读取html文件内容,并在我的代码中使用该内容。

我尝试了什么:

我尝试将相对路径转换为绝对路径

String absoluteFilePath = servletContext.getRealPath("/html/en/TestPage.html");

这可以在我的 windows 开发计算机上的 weblogic 中正常工作,但是当此代码部署到 webloic Unix 机器上面的代码返回null。我挖了谷歌,我找到了

  

“如果servlet容器无法转换,则servletContext.getRealPath返回null   出于任何原因(例如当时的路径)到真实路径的虚拟路径   内容正在从.war档案中获得。“

您能否建议将相对路径转换为绝对路径(使用上下文路径)的最佳方法。如果我可以从相对路径读取文件文件,代码应该在Windows以及Unix平台或其他方式上工作以读取html文件,而不是从绝对路径读取。

1 个答案:

答案 0 :(得分:1)

如果战争爆炸,您只能使用getRealPath(...),但您始终可以读取具有getResource(...)getResourceAsStream(...)的servlet上下文根目录下的文件。在您的示例中,它将变为:

InputStream is = servletContext.getResourceAsStream("/html/en/TestPage.html");

然后你可以安全地阅读它......