我想获得网址的绝对路径。例如,http://localhost:8080将在根目录中提供tomcat主页。如何通过在java中提供其URL http://localhost:8080来获取tomcat根目录的绝对路径。
我发现了类似的问题,但没有找到满意的答案,所以我在这里发布了问题。
答案 0 :(得分:0)
您可以使用javax.servlet.ServletContext.getRealPath(java.lang.String)
,但在某些情况下它不起作用。
获取与给定虚拟路径对应的真实路径。
例如,如果
path
等于/index.html
,则此方法将返回服务器文件系统上的绝对文件路径,其中http://<host>:<port>/<contextPath>/index.html
形式的请求将被映射到该文件系统,其中<contextPath>
对应于此ServletContext的上下文路径。返回的实际路径将采用适合运行servlet容器的计算机和操作系统的形式,包括正确的路径分隔符。
仅当容器已从其包含的JAR文件中解压缩它们时,必须考虑应用程序的
/META-INF/resources
目录中捆绑的JAR文件的/WEB-INF/lib
目录内的资源,在这种情况下,解压缩位置的路径必须退回。如果servlet容器无法将给定的虚拟路径转换为实际路径,则此方法返回null。
<强>参数:强>
path - 要转换为真实路径的虚拟路径<强>返回:强>
实际路径,如果无法执行转换,则为null