日期:2014-05-17  浏览次数:20658 次

Html文件的 相对于绝对路径
对应Web下的html路径经常搞混乱,我觉得需要记住以下几点:
1、./表示源文件所在目录的上一级目录,../../表示源文件所在目录的上上级目录,以
    类推。

  eg.  假设info.html路径是:c:\Inetpub\wwwroot\sites\blabla\info.html
     假设index.html路径是:c:\Inetpub\wwwroot\sites\index.html
     在info.html加入index.html超链接的代码应该这样写:
        <a href="../index.html">index.html</a>
2、./表示源文件所在的当前目录,通常省略不写
   eg. 假设info.html路径是:c:\Inetpub\wwwroot\sites\blabla\info.html
      假设index.html路径是:c:\Inetpub\wwwroot\sites\blabla\index.html 
       在info.html加入index.html超链接的代码应该这样写:
        <a href = "./index.html">index.html</a>
   eg. 假设info.html路径是:c:\Inetpub\wwwroot\sites\blabla\info.html
     假设index.html路径是:c:\Inetpub\wwwroot\sites\index.html
     在info.html加入index.html超链接的代码应该这样写:
        <a href=".././index.html">index.html</a> 通常./不写,变为:
         <a href=".././index.html">index.html</a>

3、在web目录中,这个会随着当前目录变化而变化。
   在struts.xml里是相对根目录的,而其结果资源jsp页面的路径也应该是相对于根目录,其相
   对位置是根据根目录,而不是根据jsp源文件的相对位置而定。
[b][/b]
4、为了解决3所带来的问题,有如下两种方法:
   1)在被引入的资源前面加${pageContext.request.contextPath},其实就是当前的根名
      字
          eg. src="${pageContext.request.contextPath}/js/jquery.js"
   2)
<%
       String path = request.getContextPath();
       String basePath =     request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<base href="<%=basePath%>">
,其实这个也是根目录,如http://localhost:8080/Assets/
这时直接引用就行
eg. src="${pageContext.request.contextPath}/js/jquery.js"

参考:http://baike.baidu.com/view/25307.htm