request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath()+"/"


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

這個語句是用來拼裝當前網頁的相對路徑的。 

<base href="...">是用來表明當前頁面的相對路徑所使用的根路徑的。 
比如,頁面內部有一個連接,完整的路徑應該是 http://localhost:80/myblog/authen/login.do 
其中http://server/是服務器的基本路徑,myblog是當前應用程序的名字,那么,我的根路徑應該是那么http://localhost:80/myblog/。 

有了這個 <base ... >以后,我的頁面內容的連接,我不想寫全路徑,我只要寫 authen/login.do就可以了。服務器會自動把 <base ...>指定的路徑和頁面內的相對路徑拼裝起來,組成完整路徑。 
如果沒有這個 <base...>,那么我頁面的連鏈接就必須寫全路徑,否則服務器會找不到。 

request.getSchema()可以返回當前頁面使用的協議,就是上面例子中的“http” 
request.getServerName()可以返回當前頁面所在的服務器的名字,就是上面例子中的“localhost" 
request.getServerPort()可以返回當前頁面所在的服務器使用的端口,就是80, 
request.getContextPath()可以返回當前頁面所在的應用的名字,就是上面例子中的myblog 
這四個拼裝起來,就是當前應用的跟路徑了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM