日期:2014-05-16  浏览次数:20347 次

JSP页面中获取当前网页的相对路径
在使用MyEclipse创建JSP页面的时候,IDE会在该JSP页面的上方自动附上一段Java代码,如下所示:

<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>

总体来讲,这段代码是获取当前JSP页面的相对路径。
下面就对上面代码作一详细解释。
request.getContextPath() 返回当前页面所在的应用的名字;
request.getSchema() 返回当前页面使用的协议,如:http;
request.getServerName() 返回当前页面所在的服务器的名字;
request.getServerPort() 返回当前页面所在的服务器使用的端口
把以上几个拼在一起就是当前网页的根路径了。

于是就有了<head>标签中对该路径的引用:
<head>
  <base href="<%=basePath%>">
  <!-- 其他JSP代码 -->
</head>

这就是我的粗浅理解,还请各位大侠多多指教。