【问题标题】:How do I specify relative file paths in restful web applications如何在 RESTful Web 应用程序中指定相对文件路径
【发布时间】:2011-07-15 14:18:37
【问题描述】:

我的 restful 应用程序的部署将从单个 WAR 文件中“展开”。所有文件路径都需要是相对的而不是绝对的(从单个 WEB-INF 目录嵌套)。指定这些文件(如 .properties 文件 .xml 文件等)的约定是什么?

错误指定示例:file f = file(/usr/home/username/.../WEB-INF/file.something);

我想要实现的示例:(来自 Controller/Servlet)file f = new file(file.something);

【问题讨论】:

  • 你在说什么文件路径?能给我举个例子吗?如果您需要为此定义属性文件,那么就有问题了。文件应该是相对的。

标签: java rest war web-inf


【解决方案1】:

您永远不应该使用/usr/home 或任何绝对路径指定文件。正确的方法是使用ServletContext.getRealPath()

context.getRealPath("/WEB-INF/file.something");

还有getResourceAsStream 和getResource。

【讨论】:

  • 感谢您的回复阿米尔
  • 如何在我的控制器中执行此操作?
  • 你可以做 getServletContext().getResourceAsStream(...)。将资源用作流可能更好,因为您不必以这种方式打开文件。
  • @Captain 这对你有用吗?不要忘记接受答案。
猜你喜欢
  • 1970-01-01
  • 2011-01-24
  • 2013-10-25
  • 2015-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-02
相关资源
最近更新 更多