javaweb springmvc前端控制器放行静态资源的解决办法

springmvc前端控制器放行静态资源的解决办法
在配置SpringMVC开发环境时,会在web.xml文件中配置SpringMVC的前端控制器,
将所有请求交给前端控制器处理,因此在url-pattern中配置了斜杠(/):

springmvc org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:springmvc-config.xml springmvc / url-pattern中配置的斜杠(/)表示将除了JSP以外的其他请求都拦截下来,交给spring的前端控制器来处理。

但是这样配置,会将对静态资源的访问也拦截下来,导致访问静态资源时,出现404(资源找不到),因为spring的前端控制器将对静态资源的访问也当成了一个controller请求,去配置对应的映射路径,这当然找不到。

比如访问:http://localhost/day15-springmvc/home.html,由于配置的是斜杠(/),所以此时会拦截静态资源,到controller中匹配路径为/home.html的方法,此时自然是匹配不到的。

如果需要访问到静态资源,让前端控制器对静态资源的请求放行。此时可以在springmvc-config.xml文件中添加放行静态资源的配置:

mvc:default-servlet-handler/

posted @ 2020-07-22 17:08  岁月染过的梦  阅读(749)  评论(0)    收藏  举报