这篇文章给大家介绍Spring MVC中
海州ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!
< mvc:resources />的作用
在Spring MVC框架中,针对静态资源的请求处理除了可以配置< mvc:default-servlet-handler />标签,通过容器来处理以外,还可以使用< mvc:resources />标签,在框架层面来处理。
从Spring MVC的XML Schema文件说明中可以知道,通过< mvc:resources />标签的配置可以使在Spring MVC框架中,配置一个Handler来处理静态资源,例如:图片,JS,CSS等文件,并通过配置Cache相关的Headers来使浏览器能够更有效的进行加载。同时,该配置允许将静态资源放在任何Spring MVC框架能够读取到的路径下。
< mvc:resources />的配置
< mvc:resources />主要有以下配置:
mapping(必填,类型:string)基于当前Servlet上下文的URL匹配规则,例如:"/resources/**"。
location(必填,类型:string)静态资源的放置路径,满足Spring资源的匹配规则,可以使用"classpath:"。当存在多个路径时,通过","来进行拼接,例如:"/, classpath:/META-INF/public-web-resources/"。
cache-period(选填,类型:string)用来配置Handler类针对静态资源的缓存时间,以秒为单位。默认情况下不会发送任何缓存的Header,仅仅依赖last-modified参数的修改时间戳。当设置为0时,表示禁止进行资源缓存;当设置一个正整数时,表示资源缓存的最长有效时间。
order(选填,类型:int)用来配置Handler类处理请求的顺序,默认为最低优先级的值-1。
ResourceHttpRequestHandler类的作用
在ResourceHttpRequestHandler类中通过解析标签中location对应的参数,来从服务器或jar包中获取静态资源。
同时,可以通过配置VersionResourceResolver类,GzipResourceResolver类,与CachingResourceResolver类等解析器类或CssLinkResourceTransformer类,AppCacheManifestTransformer类等转换器类,来提供针对静态资源添加版本号,Gzip压缩等自定义的处理过程。而默认仅使用PathResourceResolver类来根据URL查询静态资源。
在处理Request请求时,ResourceHttpRequestHandler类默认会针对Headers请求头中的Last-Modified参数进行计算,以此来判断是否返回请求码304,通知浏览器使用缓存数据,以此来提升请求响应效率。
< mvc:resources />与< mvc:default-servlet-handler />的异同
由于Spring MVC中框架处理的请求全部通过DispatcherServlet类来进行处理,因此,无法直接的针对静态资源请求进行很友好的兼容处理。于此,框架提供了两种处理策略来进行处理:
通过< mvc:default-servlet-handler />标签来转移请求处理过程,交由WEB容器进行高效的处理。可以更好的依赖容器自身的请求处理能力,承担静态资源请求的处理过程;
通过< mvc:resources />标签来配置对应的Resolver类和Transformer类来在框架层面进行静态资源请求的处理,以达到解耦容器的目的。并通过集成请求响应的优化处理逻辑,来满足业务与性能的需求。
关于Spring MVC中
网页标题:SpringMVC中<mvc:resources/>标签的作用是什么
网页路径:http://lswzjz.com/article/jpogjd.html