首先一点,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’