request.getContextPath()

wangyy發表於2013-07-27

今天終於明白了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

 

如果喜歡作者的文章,請關注"寫程式碼的猿"訂閱號以便第一時間獲得最新內容。本文版權歸作者所有,歡迎轉載.