关于<mvc:default-servlet-handler>与<mvc:resources>的区别
老师您好,请问这两个注解的相同之处和区别分别是什么呢?
<mvc:resources>的作用是什么呢?显式告诉spring存储在location中的文件是静态资源?
正在回答
同学你好,<mvc:default-servlet-handler>与<mvc:resources>都是用来对静态资源进行处理的。
1)、 <mvc:resources mapping="/resources/**" location="/resources/" /> 其中:
mapping元素表示以/resources开头的所有请求路径,如/resources/a 或者/resources/a/b;
location元素表示webapp目录下的resources包下的所有文件;
该配置的作用是:DispatcherServlet会拦截以/resources开头的所有请求路径,并当作静态资源交由Servlet处理。
2)、<mvc:default-servlet-handler />过滤静态资源。
配置<mvc:default-servlet-handler />后,会在Spring MVC上下文中定义一个org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler,它会像一个检查员,对进入DispatcherServlet的URL进行筛查,如果发现是静态资源的请求,就将该请求转由Web应用服务器默认的Servlet处理,如果不是静态资源的请求,才由DispatcherServlet继续处理。
它们两个整合在项目中,如果访问静态资源先执行<mvc:resources/>,如果没有找到,执行<mvc:default-servlet-handler />。
如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
- 参与学习 人
- 提交作业 323 份
- 解答问题 8263 个
本阶段将带你学习主流框架SSM,以及SpringBoot ,打通成为Java工程师的最后一公里!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星