关于<mvc:default-servlet-handler>与<mvc:resources>的区别

关于<mvc:default-servlet-handler>与<mvc:resources>的区别

老师您好,请问这两个注解的相同之处和区别分别是什么呢?

<mvc:resources>的作用是什么呢?显式告诉spring存储在location中的文件是静态资源?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,<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 />。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师