相對路徑的問題.拙見
趁着現在還沒把自己繞進去,記錄一下…
前端Angular.
設置proxy.conf.json
將api
請求全部轉發給localhost:8080
,
{
"/api":{
"target":"http://localhost:8080/"
}
}
注意這裏的請求還需要在proxy.conf.json
額外的配置,否則這裏的請求是帶api
一起發送的,即請求會被髮送到localhost:8080/api/xxxxx
下…
這裏tomcat還是使用的默認的根目錄啓動
在tomcat
的目錄下修改conf/server.xml
添加一行
<Context path="api/path1" docBase="D:/Music/fileUpload/" reloadable="true" crossContext="true"></Context>
那麼此時發送到localhost:8080/api/path1
就會訪問到docBase
下的文件.
測試一下.
地址欄請求localhost:4200/api/path1
,則請求會被轉發到localhost:8080/api/path1/
此時前端的比較明瞭,即將api
路徑下訪問的地址完全轉發給後端,若進行額外的配置,去除api
即轉發前的路徑,則請求會被髮送到loacalhost:8080/xxxx
否則就是localhost:8080/api/path1/
…
說的比較混亂和複雜,其實很簡單…
Tomcat是讓我比較頭大的,主要是不知道怎麼寫了都…
我認爲需要注意兩點,一個是項目路徑,即啓動路徑,IDE裏面設置啓動路徑爲/project1
那麼啓動的時候的路徑地址爲localhost:8080/project1
,比較讓我難受的是不知道在此時再設置context
標籤,那麼怎麼請求纔算是正確的呢.
目前context
設置爲path="api/path1
…在idea中設置.
這就是最讓我困惑的地方了,打開瀏覽器,則localhost:8080/Music/ceshi.png
和localhost:8080/api/path1/ceshi.png
的結果一樣…
那麼就有點摸不到頭腦了…