使用MyEclipse自动生成的JSP页面中会自动加上下面两句话:
...
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";
%>
<head>
<base href="<%=basePath%>">
</head>...
W3C标准中的定义主要如下:
HTML 的<base> 标签为页面上的所有链接规定默认地址或默认目标。
属性:href 属性规定页面中所有相对链接的基准 URL。
target 属性规定在何处打开页面上的所有链接。
注意:<base> 标签必须位于 head 元素内部。
在 HTML 中,<base> 标签没有结束标签;在 XHTML 中,<base> 标签必须被正确地关闭。
因此,很多JSP开发的人在做项目的时候经常会因为相对路径和绝对路径问题而烦恼,加上了
<base href="<%=basePath%>">
则该网页中所有的相对路径省略的前面部分就是base path,也就是加上base path之后就是绝对路径,但是如果没有加上这个base path的话,就以相对路径的方式来查找。
相对路径:相对路径总是基于当前文件所在路径为基点开始算起。这与放不放在Web应用服务器上没有关系。
1、同级目录:直接写就行,不需要写目录信息。
2、下级目录:直接写目录名加文件名就行。
3、父级目录。在目录名前加“..”就行。
CSS文件中的相对路径也是如此。
以上是开发过程中的一点收获,查找资料后简单总结了一下,希望帮助到大家。