0

我想获取url的绝对路径。例如,http://localhost:8080将在根目录中为我提供可用的 tomcat 主页。如何通过在 java 中提供其 url http://localhost:8080来获取 tomcat 根目录的绝对路径。

我发现了类似的问题,但没有找到满意的答案,所以我在这里发布问题。

4

1 回答 1

0

您可以使用javax.servlet.ServletContext.getRealPath(java.lang.String),尽管在某些情况下它不起作用。

API 文档

获取给定虚拟路径对应的真实路径。

例如,如果path等于/index.html,此方法将返回服务器文件系统上的绝对文件路径,表单的请求http://<host>:<port>/<contextPath>/index.html将映射到该路径,其中<contextPath>对应于此 ServletContext 的上下文路径。

返回的真实路径将采用适合运行 servlet 容器的计算机和操作系统的格式,包括正确的路径分隔符。

/META-INF/resources仅当容器从包含 JAR 文件中解压它们时,才必须考虑捆绑在应用程序目录中的 JAR 文件目录中的资源/WEB-INF/lib,在这种情况下,必须返回解压位置的路径。

如果 servlet 容器无法将给定的虚拟路径转换为真实路径,则此方法返回 null。

参数:
path - 要转换为真实路径的虚拟路径

返回:
真实路径,如果无法执行翻译,则返回 null

于 2012-04-21T13:21:08.713 回答