绝对path和相对path

使用任何Web服务器或Tomcat时绝对path和相对path有什么区别?

绝对path以/开始,并指向当前站点(或虚拟主机)根目录中的某个位置。

相对path不以/开始,并且从引用文档的实际位置引用一个位置。

例如,假设root是http://foo.com/site/

绝对path,无论我们在网站上

/foo.html 

将参考http://foo.com/site/foo.html

相对path,假设包含链接位于http://foo.com/site/part1/bar.html

 ../part2/quux.html 

将参考http://foo.com/site/part2/quux.html

要么

 part2/blue.html 

将参考http://foo.com/site/part1/part2/blue.html

http://www.communitymx.com/content/article.cfm?cid=AEDCC52C4AD230AD应该解释一切。

它详细介绍了绝对path,相对path和文档path的区别。

重要的是要注意相对path也是主观的。

即:

 <?php #bar.php require('../foo.php'); ?> 
 /dir/bar.php 
 /foo.php#打印一个 
 /dir/foo.php#打印b 
 / dir / other /#空目录
 $ pwd 
 > /
 $ php dir / bar.php 
 > / + ../foo.php == /foo.php   
 >打印一个 
 $ cd dir 
 $ php bar.php
 > / dir + ../foo.php = /foo.php 
 >打印一个
 $ cd其他
 $ php ../bar.php 
 > / dir / other + ../foo.php = /dir/foo.php 
 >打印b

这可能会造成一些相当混乱的情况,特别是如果有许多文件具有相关的引用和多个可能的位置,这些位置可以作为控制相对path相对的“入口点”。

在这种情况下,人们应该根据固定的已知值手动计算绝对path,即:

 <?php require( realpath(dirname(__FILE__) . '/../foo.php') ) 

要么

 <?php require( SOMECONSTANT . '/relative/path.php' ); 

要么

 <?php require( $_SERVER['DOCUMENT_ROOT'] . '/relative/path.php' ); 

可以查看这个链接的简单解释http://www.computerhope.com/jargon/a/absopath.htm

通过试验和错误,我确定Tomcat中path的起点是webapps文件夹。

换句话说,如果你的Java代码试图读取../somefile.txt,那么该文件的绝对path是%TOMCAT_HOME%/ webapps /../ somefile.txt,即%TOMCAT_HOME%/ webapps / somefile.txt