首先一點,WebRoot目錄下的文件是都可以通過瀏覽器輸入路徑,直接讀取到的
例如這樣:
而WebRoot下面WEB-INF是無法瀏覽器輸入路徑直接讀取的。
因為是受保護的。
如果jsp讀取一個圖片的話。
jsp在WebRoot/jsp下
圖片在WebRoot/imag下
那么就要../imag/xx.jpg獲取相對路徑。
因為servlet程序是無法讀取C:\xx\xx\xx這樣的絕對路徑的。
除非更改tomcat配置文件,但我覺得那樣完全沒有意義。
另外,要注意你請求的路徑是否被攔截。
例如web.xml里面配置servlet-mapping為(此為spring mvc配置):
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
那么一切請求都會被攔截,在springmvc里尋找bean或注解,若找不到報404錯誤。也不可能直接jsp獲取圖片路徑了。
報錯
No mapping found for HTTP request with URI XXX in DispatcherServlet with name ‘springmvc’