[英]How can I get absolute path of providing url in java
我想获取url的绝对路径。 例如, http:// localhost:8080将为我提供根目录中可用的tomcat主页。 如何通过在Java中提供其URL http:// localhost:8080来获取tomcat根目录的绝对路径。
我发现了类似的问题,但没有找到满意的答案,所以我在这里发布问题。
您可以使用javax.servlet.ServletContext.getRealPath(java.lang.String)
,尽管在某些情况下它不起作用。
从API文档中 :
获取与给定虚拟路径相对应的真实路径。
例如,如果
path
等于/index.html
,则此方法将返回服务器文件系统上的绝对文件路径,该文件的格式为http://<host>:<port>/<contextPath>/index.html
将被映射,其中<contextPath>
对应于此ServletContext的上下文路径。返回的实际路径将采用适合运行servlet容器的计算机和操作系统的形式,包括适当的路径分隔符。
仅当容器从包含其的JAR文件中解压缩了应用程序的
/WEB-INF/lib
目录中捆绑的JAR文件的/META-INF/resources
目录内的/META-INF/resources
,才应考虑该资源,在这种情况下,必须向解压缩位置的路径被退回。如果servlet容器无法将给定的虚拟路径转换为真实路径,则此方法返回null。
参数:
path-要转换为真实路径的虚拟路径返回值:
真实路径;如果无法执行转换,则为null
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.