【发布时间】:2010-11-27 06:08:13
【问题描述】:
我有以下sn-p的代码:
String path = servletContext.getRealPath("/");
现在我收到一个用户的错误报告,说返回的路径不是绝对路径。
返回的路径是 'usr/local/...' 而不是 '/usr/local/...' ,所以 getRealPath 似乎返回的是相对路径。
我可以看到这一点,因为返回的路径已记录到日志文件中。
我的规格是:
- JBoss 4.0.5.GA
- 红帽 EL 4
- jdk 1.5.0
有关 javadoc,请参阅 here
【问题讨论】:
-
您确定您的日志记录不只是出于某种原因删除了第一个字符吗?您可以调试到应用程序并以这种方式检查结果吗?如果一切都失败了,您可以在 Sun 上查看有关此问题的错误报告。
-
不,很遗憾没有。 1:这是一个简单的日志语句:log.debug("path:" + path); 2:稍后在应用程序中,一些代码尝试在该路径下查找文件:new File(servletContext.getRealPath("/) + ...); 对 file.exists() 的调用返回 false。不过好主意,我'将检查错误报告。
-
您提到您使用的是 JBoss,但是哪个 Web 容器?它过去默认与 Jetty 一起提供,但现在我认为是 Tomcat...您也可以在错误数据库和/或论坛上查看您实际使用的 Web 容器的这个问题,因为它是它们的实现...没有想到早一点。
标签: java servlets jakarta-ee