今天花了半天的時間去解決路徑得問題,由於項目都是使用相對路徑,但是文件夾嵌套的太多,所以導致路徑出現了問題,所以在想在進入頁面是就可以獲取路徑,結果試了很多方法都沒用,最後用了mvc的攔截器,唉,巨坑的開始,花了我快2個小時才走出來。
巨坑的來源是這個:
<mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**" /> <bean class="com.muke.springMVC.interceptors.PathInterceptors" /> </mvc:interceptor> </mvc:interceptors>
攔截器在我怒火下刪掉了,裡面也沒什麼,就是從請求中獲取上下文路徑,然後放到modelAndView.addObject中。
這是在網上找的代碼,巨坑啊。
一運行,一進入頁面控制台就炸了,刷刷刷,攔截器進去了,可是下面卻報空指針,然後頁面上的路徑也錯了,url也追加了了我添加進去的名字和值
一開始我以為是modelAndView這個方法造成了url的重寫導致的空指針和頁面路徑得錯亂,所以就去學了下這個對象,看了好久,覺得寫的沒錯啊,為什麼是空指針,為什麼下面又重復訪問了這麼多次,我就請求了一次。直到最後才知道,是因為攔截器的原因。
在頁面上的css js 等的請求也都被攔截了,但是這時是css js 等靜態資源的請求,所以獲取不到上下問,所以路徑是空的,在放進去時就報了空指針了,下面才會一個請求這麼多次攔截器。
真的是夠了,上一次也是靜態資源的坑,這次也是。愚蠢啊