关于的一点思考

在未定义<base href="<%=basePath%>">之前:

<a href="/index.jsp">注册用户</a> :实际URL:http://localhost:8080/index.jsp  显然这是tomcat的初始页面,这显然不是我们想要的,相对于服务器的路径

<a href="index.jsp">注册用户</a> :实际URL:http://localhost:8080/day24/my/name/index.jsp   /my/name为当前页面路径  可以看出不加/即为相对当前页面下的路径

在定义<base href="<%=basePath%>">后:

<a href="/index.jsp">注册用户</a> :实际URL:http://localhost:8080/index.jsp  任然是相对于服务器的路径

<a href="index.jsp">注册用户</a> :实际URL:http://localhost:8080/day24/index.jsp   这才是我们想要的路径,相对于basePath的路径

总结:

1.加入<base href="<%=basePath%>是为<a href="index.jsp">起作用,这中写法为相对于base的相对路径。

2.“/”为虚拟路径,为服务器的路径。

3.当前环境的写法为: href="/day24/index.jsp"。

继续测试以下路径:

在未定义<base href="<%=basePath%>">之前:

"./":代表目前所在的目录。http://localhost:8080/day24/my/name/index.jsp

"../":代表上一层目录。http://localhost:8080/day24/my/index.jsp

在定义<base href="<%=basePath%>">后:

"./":代表目前所在的目录。http://localhost:8080/day24/index.jsp

"../":代表上一层目录。http://localhost:8080/index.jsp

重点:分清相对路径 与根路径,相对路径相对谁?!


href="index.jsp" href="./index.jsp" href="../index.jsp"均为相对路径,根据base的定义 相对的对象也有所不同
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章