当使用Dreamweaver将文件上传到远程服务器后,这些文件驻留在服务器本地目录树中的某一个文件夹中。例如,在运行MicrosoftIIS的服务器上,主页的路径可能如下所示: c:\Inetpub\wwwroot\accounts\users\jsmith\index2.htm 此路径通常称为文件的物理路径。但是,用来打开文件的URL并不使用物理路径。它使用服务器名称或域名,后接虚拟路径。
在为服务器端组件编程时,你很可能要从相对于web根的路径来取得某个文件的真实路径,但此文件实际上在站点的一个虚拟路径上。
JSPservletAPI提供了getRealPath(path)方法,返回给定虚拟路径的真实路径,如果转换错误,则返回null。 getRealPath语法定义: publicjava.lang.StringgetRealPath(java.lang.Stringpath) 返回一个字符串,包含一个给定虚拟路径的真实路径。
例如,虚拟路径"/index.html" 不管在服务器文件系统上具有怎样的真实路径,使用"/index.html"总可以找到它。返回的真实路径使用了相近于servlet容器(srvletcontainer)所在计算机或操作系统的格式,包含了适当的路径分隔符。如果servlet容器无法转换则这个方法将返回null。