今天終於明白了jsp中的request.getContextPath()是怎麼回事了。
request.getContextPath() 返回站點的根目錄
request.getRealpath("/")得到的是實際的物理路徑,也就是你的專案所在伺服器中的路徑
request.getScheme() 等到的是協議名稱,預設是http
request.getServerName() 得到的是在伺服器的配置檔案中配置的伺服器名稱 比如:localhost .baidu.com 等等
request.getServerPort() 得到的是伺服器的配置檔案中配置的埠號 比如 8080等等
有一個例子來說明吧
有個web應用程式 名稱就是demo
<%
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort();
String path = request.getScheme() + "://" + request.getServerName()
+ ":" + request.getServerPort() + request.getContextPath()
+ "/";
String filePath=path+"resources/";
session.setAttribute("path", path);
session.setAttribute("basePath", basePath);
session.setAttribute("filePath", filePath);
%>
以上這段程式碼是 demo中每一個jsp頁面中都包含的一段程式碼
其中 request.getContextPath() = /demo
basePath = http://localhost:8080
path = http://localhost:8080/demo/
filePath = http://localhost:8080/demo/resources/
用法:
如果在jsp介面中引用resources/images/資料夾下面的圖片icon.png寫法如下:
<img src="${filePath }images/icon.png" />或者
<img src="${path}resources/images/icon.png" />
同理 如果在resources/css/資料夾下引用style.css寫法如下:
<link href="${filePath} css/style.css" rel="stylesheet" type="text/css" />
<link href="${path} resources/css/style.css" rel="stylesheet" type="text/css" />
OK!
參考文章:http://www.cnblogs.com/yqskj/articles/2226401.html
如果喜歡作者的文章,請關注"寫程式碼的猿"訂閱號以便第一時間獲得最新內容。本文版權歸作者所有,歡迎轉載.