<%
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>