如何获得在java中提供url的绝对路径

时间:2012-04-21 12:37:00

标签: java

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

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

1 个答案:

答案 0 :(得分:0)

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

来自API documentation

  

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

     

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

     

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

     

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

     

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

     

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

     

<强>返回:
  实际路径,如果无法执行转换,则为null