basepath的作用 (转)
生活随笔
收集整理的這篇文章主要介紹了
basepath的作用 (转)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
轉(zhuǎn)自:http://blog.csdn.net/randomnet/article/details/8630754 在談basePath之前,先來(lái)討論一下相對(duì)路徑與絕對(duì)路徑的區(qū)別。? 相對(duì)路徑-以引用文件之網(wǎng)頁(yè)所在位置為參考基礎(chǔ),而建立出的目錄路徑。? 絕對(duì)路徑-以Web站點(diǎn)根目錄為參考基礎(chǔ)的目錄路徑。? 在web應(yīng)用程序中絕對(duì)路徑不是指的磁盤(pán)文件中盤(pán)符目錄路徑。如:C:\Windows\System32 其實(shí)絕對(duì)路徑與相對(duì)路徑的不同處,只在于描述目錄路徑時(shí),所采用的參考點(diǎn)不同。由于對(duì)網(wǎng)站上所有文件而言,根目錄這個(gè)參考點(diǎn)對(duì)所有文件都是一樣的,因此,運(yùn)用以根目錄為參考點(diǎn)的路徑描述方式才會(huì)被稱(chēng)之為絕對(duì)路徑。 在這里需要講幾個(gè)特殊符號(hào):? "/"代表根目錄,".."代表上一層目錄,而"../../"所代表的是上一層目錄的上一層目錄。假設(shè)你注冊(cè)了域名www.arm4u.com,并申請(qǐng)了虛擬主機(jī),你的虛擬主機(jī)提供商會(huì)給你一個(gè)目錄,比如www,這個(gè)www就是你網(wǎng)站的根目錄。? 假設(shè)你在www根目錄下放了一個(gè)文件index.html,這個(gè)文件的絕對(duì)路徑就是: http://www.arm4u.com/index.html。? 假設(shè)你在www根目錄下建了一個(gè)目錄叫html_tutorials,然后在該目錄下放了一個(gè)文件index.html,這個(gè)文件的絕對(duì)路徑就是http://www.arm4u.com/html_tutorials/index.html? 了解了相對(duì)路徑與絕對(duì)路勁的概念后,我們來(lái)看看所謂的basePath是怎么寫(xiě)的:? <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> 看看上面的代碼,我們來(lái)了解一下它具體的意思,? request.getContextPath()是在開(kāi)發(fā)Web項(xiàng)目時(shí),經(jīng)常用到的方法,其作用是獲取當(dāng)前的系統(tǒng)路徑。request.getContextPath()得到項(xiàng)目名,如果項(xiàng)目為根目錄,則得到一個(gè)"",即空的字條串, 如果項(xiàng)目為T(mén)est, <%=request.getContextPath()% >/ 將得到Test/,服務(wù)器端的路徑則會(huì)自動(dòng)加上.? request.getScheme()返回的協(xié)議名稱(chēng),默認(rèn)是http。? request.getServerName()返回的是你瀏覽器中顯示的主機(jī)名(例127.0.0.1).? getServerPort()獲取服務(wù)器端口號(hào)(例:8080)。? 我們不妨把basePath打印出來(lái)看看是什么,http://127.0.0.1:8080/test。? 值得注意的是:request.getServerName()始終獲取的是瀏覽器中顯示的主機(jī)名,比如可以舉個(gè)例子,我們?cè)跒g覽其中輸入的主機(jī)名是本地主機(jī)名192.168.10.23,那么我們?cè)趦?nèi)網(wǎng)中可以通過(guò)http://192.168.10.23:8080/test這個(gè)路徑來(lái)訪問(wèn)項(xiàng)目,如果是外網(wǎng)需要訪問(wèn)則需要提供域名http://www.arm4u.com/Test來(lái)訪問(wèn),當(dāng)然內(nèi)網(wǎng)也可以通過(guò)這個(gè)路徑來(lái)訪問(wèn),此時(shí)打印出來(lái)的basePath是這個(gè)路徑http://www.arm4u.com:8080/Test了,而不是http://192.168.10.23:8080/test <base href="<%=basePath%>">必須放在<head></head>中。 在開(kāi)發(fā)中試用basePath能夠很好的避免出現(xiàn)路徑的問(wèn)題。basepath可稱(chēng)作web全路徑。 頁(yè)面中加了basepath,無(wú)論當(dāng)前頁(yè)面處于什么目錄路徑下,如manage/index.jsp,指的是web根目錄下的manage文件夾下index.jsp。圖片、鏈接引用的路徑都是從當(dāng)前應(yīng)用程序的根路徑開(kāi)始的!如果沒(méi)有basepath,寫(xiě)的路徑是表示從相對(duì)于當(dāng)前頁(yè)面的路徑,manage/index.jsp指的是當(dāng)前目錄下manage文件夾下的index.jsp
轉(zhuǎn)載于:https://www.cnblogs.com/kiton/p/6872028.html
與50位技術(shù)專(zhuān)家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的basepath的作用 (转)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Android:日常学习笔记(8)———
- 下一篇: 点击文字,把input type=rad