<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
上述语句是用来拼接当前网页的相对路径
request.getContextPath()获取web项目的根路径,即webContent(MyEclipse中是webRoot)
页面内部有一个连接,完整的路径应该是 http://localhost:8080/tmall/store_info.jsp
其中http://loclahost:8080/是服务器的基本路径,而tmall是当前应用程序的名字,那么,我的根路径应该是那么http://localhost:8080/tmall/
代码中的base,服务器就可以动态的将指定路径和页面的相对路径拼装起来,形成完整的路径。
1.request.getSchema();可以返回当前页面所使用的协议,就是”http”
2.request.getServerName();返回当前页面所在服务器的名字,就是上面例子中的”localhost”
3.request.getServerPort();返回当前页面所在服务器的端口号,就是上面例子中的”8080”
4.request.getContextPath();返回当前项目名字,如果项目为根目录,则得到一个"",即空的字条串。上面例子中的”tmall”
<base href=" <%=basePath%>">
设置基础路径的,basepath为变量
比如:<base href="http://www.baidu.com">,对应的href属性就会以你上面设定为基准,如:<a href="http://www.baidu.com/xxx.html"></a>你现在就只需要写<a href="xxx.html"></a>