URL中"/"开头的含义

 

之前对这个问题也有疑惑,没有深究,今天看到自然另外记录下来。

由"/"开头的是环境相对地址,也就是程序会从环境(服务器)根目录开始查找。

而没有"/"开头的则是请求相对地址,也就是程序会从发起请求的路径开始查找。

最常见的例子就是WebContent下的页面跳转

假设项目test目录如下

WebContent          //根目录

----jsp                    //一级子目录

--------index.jsp

--------error            //二级子目录

-------------error.jsp

----error                 //一级子目录

--------error.jsp

 

此时如果在index.jsp中跳转

<a href="error/error.jsp">跳转</a>

 则会跳到二级子目录error中的error.jsp中,实际访问路径如下

    http://localhost:8080/test/jsp/error/error.jsp

 

如果跳转url如下

<a href="/error/error.jsp">跳转</a>

 则会提示无法找到对应文件,实际访问路径如下

    http://localhost:8080/error/error.jsp

可以看出环境相对地址指的是服务器下的环境并不是同一Web应用环境,具体会不会有编程平台的差异或者不同方式的跳转会有不同不知道,实验环境是:eclipse Java ee +tomcat7.0

 

所以如果想要访问一级目录下的error文件夹中的error.jsp正确的url跳转应该如下

<a href="/test/error/error.jsp">跳转</a>

 实际访问路径如下

    http://localhost:8080/test/error/error.jsp

此时正确访问。

你可能感兴趣的:(url)