<mvc:default-servlet-handler/>和<servlet-mapping>区别

<mvc:default-servlet-handler/>这不是过滤了静态资源了吗?为什么还要再设置一遍过滤啊?
我的理解是,因为<mvc:default-servlet-handler/>过滤了静态资源,spring MVC就不处理这些静态资源,但是你也不能不处理这些静态资源吧,要不图片什么的怎么显示出来?所以这时候再配置一个默认的servlet,专门处理静态资源,是这样理解吗?我看了回答里面的,还是懵的
正在回答 回答被采纳积分+1
同学你好,web.xml中配置default的<servlet-mapping>可以将符合的静态页面引到默认Servlet处理。而<mvc:default-servlet-handler />在 WEB 容器启动的时候会在上下文中定义一个 DefaultServletHttpRequestHandler,它会对DispatcherServlet的请求进行处理,如果该请求已经作了映射,那么会接着交给后台对应的处理程序,如果没有作映射,就交给 WEB 应用服务器默认的 Servlet 处理,从而找到对应的静态资源。
关于同学的理解,在web.xml中配置了<servlet-mapping>,对请求中的资源进行过滤,如果是静态资源则交由默认的servlet处理。而<mvc:default-servlet-handler />将会对DispatchServlet时的请求进行处理,如果原来有映射,则交由对应的映射进行处理,如果没有映射,将会由默认的servlet进行处理。
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
- 参与学习 人
- 提交作业 323 份
- 解答问题 8263 个
本阶段将带你学习主流框架SSM,以及SpringBoot ,打通成为Java工程师的最后一公里!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星