getRealPath
getRealPath()方法
JSP servlet API提供了getRealPath(path)方法,返回给定虚拟路径的真实路径,如果转换错误,则返回null。
getRealPath语法定义:
public java.lang.String getRealPath(java.lang.String path)
返回一个字符串,包含一个给定虚拟路径的真实路径。例如,虚拟路径 "/index.html"
不管在服务器文件系统上具有怎样的真实路径,使用"/index.html"总可以找到它。返回的真实路径使用了相近于servlet容器(srvlet container)所在计算机或操作系统的格式,包含了适当的路径分隔符。如果servlet容器无法转换则这个方法将返回null。
参数:
path -一个描述了虚拟路径的字符串
返回值:
描述真实路径的字符串或者null
遗憾的是,getRealPath常常返回不同的东西,这取决于服务器或jsp文件调用此方法的路径位置。
假设我们的站点组织如下:
根路径包含了我们的站点的根: http://address/
a_virtual目录包含了我们站点提供的虚拟路径的文件,例如:
http://addess/virtual_dir/
我们查找file1.txt和file2.txt的真实路径,它们一个在站点根路径下,一个在虚拟路径下
。 getRealPath("/file1.txt") 应该返回“C:\site\site_root\file1.txt",
getRealPath("/virtual_dir/file2.txt")应该返回"C:\site\a_virtual\file2.txt"
getRealPath("/file3.txt")应该返回null,因为这个文件不存在。
但getRealPath()并不总是返回同样的结果,这还取决与你使用的js引擎。