前提:
1、
(應用背景關系就是主機,不含專案名!)
2、沒有配置視圖決議器InternalResourceViewResolver(即沒有prefix和suffix)
3、在【方法回傳值】使用相對路徑的情況下!!!
假設在webapp/x/y(這里的webapp其實就是應用背景關系Application context)下有個Tom.jsp,其中有如下代碼:
![]()
對應Controller的內容:

這里的"Mike.jsp"不是"/"開頭,因此用的是相對路徑,(如果是絕對路徑怎么辦?很簡單,直接跳轉就行!)
那么這里的"相對",是指相對誰呢?
是相對webapp/x/y嗎?不是的,分析如下:
我們在瀏覽器中訪問:http://localhost:8080/x/y/Tom.jsp
![]()
把滑鼠放在超鏈接上,可以看到:

點擊超鏈接,頁面變成:

從上圖可知,決議前的址址是【/a/b/c/d】,決議后的地址是【/a/b/c/Mike.jsp】,【決議前的地址】(請求地址,或者說是類上的RequestMapping地址+方法上的RequestMapping地址)、【方法回傳值】(比如這里的"Mike.jsp")以及【決議后的地址】這三者之間的關系如下:
公式一:【決議后的地址】=【決議前的地址 去掉 最后一個"/"后面的內容("/"保留)】【方法回傳值】(等號右邊其實就是簡單的字串拼接)
在上面的示例中,【決議前的地址】是"/a/b/c/d",去掉最后一個"/"后面的內容("/"保留)(即d)后變成"/a/b/c/",【方法回傳值】為"Mike.jsp",因此【決議后的地址】為"/a/b/c/Mike.jsp"
公式二:【決議前的地址】(或者說是請求地址)=【類上的RequestMapping地址】【方法上的RequestMapping地址】
進行如下測驗:

多次驗證,公式無誤,值得依賴!
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/150576.html
標籤:其他
上一篇:使用js獲取樣式表中的屬性值
