相对路径获取项目文件 及报错 No mapping found for HTTP request with URI XXX in DispatcherServlet with name ‘springmvc’解决方法

时间:2022-01-05 19:23:44

首先一点,WebRoot目录下的文件是都可以通过浏览器输入路径,直接读取到的

例如这样:

相对路径获取项目文件 及报错 No mapping found for HTTP request with URI XXX in DispatcherServlet with name ‘springmvc’解决方法

而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’