`
squall140
  • 浏览: 146257 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

Spring参考手册 mvc:resources

 
阅读更多

This tag allows static resource requests following a particular URL pattern to be served by a ResourceHttpRequestHandler from any of a list of Resource locations.
这个标签允许ResourceHttpRequestHandler从资源列表的位置根据指定的url模板请求静态资源。
This provides a convenient way to serve static resources from locations other than the web application root, including locations on the classpath.
他提供了一个方便的途径来从根目录甚至classpath内读取静态资源
The cache-period property may be used to set far future expiration headers (1 year is the recommendation of optimization tools such as Page Speed and YSlow) so that they will be more efficiently utilized by the client.
cache-period属性可以设置很长的缓存时间
The handler also properly evaluates the Last-Modifiedheader (if present) so that a 304 status code will be returned as appropriate, avoiding unnecessary overhead for resources that are already cached by the client.
ResourceHttpRequestHandler 根据Last-Modifiedheader (如果设置了)会返回304状态码,避免重复返回以缓存的资源。
For example, to serve resource requests with a URL pattern of /resources/** from a public-resources directory within the web application root, the tag would be used as follows:
例如,通过/resources/**访问根目录下public-resources文件夹下的资源,标签可以像下边这么写:
<mvc:resources mapping="/resources/**" location="/public-resources/"/>

To serve these resources with a 1-year future expiration to ensure maximum use of the browser cache and a reduction in HTTP requests made by the browser:
设置一年的缓存时间以最大化的利用浏览器缓存和减少服务器压力:
<mvc:resources mapping="/resources/**" location="/public-resources/" cache-period="31556926"/>

The mapping attribute must be an Ant pattern that can be used by SimpleUrlHandlerMapping, and the location attribute must specify one or more valid resource directory locations.
mapping属性必须是可以被SimpleUrlHandlerMapping使用的路径,location属性需指定一个以上正确的目录位置。
Multiple resource locations may be specified using a comma-seperated list of values.
多个资源目录可以使用逗号分隔。
The locations specified will be checked in the specified order for the presence of the resource for any given request.
请求会按配置的顺序依次检测资源目录。
For example, to enable the serving of resources from both the web application root and from a known path of /META-INF/public-web-resources/ in any jar on the classpath, the tag would be specified as:
例如:要想让根目录和classpath下任何jar包的/META-INF/public-web-resources/目录中能够访问,标签可以如下
<mvc:resources mapping="/resources/**" location="/, classpath:/META-INF/public-web-resources/"/>

When serving resources that may change when a new version of the application is deployed, it is recommended that you incorporate a version string into the mapping pattern used to request the resources, so that you may force clients to request the newly deployed version of your application's resources.
当新版本的应用部署后资源可能改变,推荐请求资源时在路径中加入版本戳,这样就可以强制客户端请求新版本的应用资源。
Such a version string can be parameterized and accessed using SpEL so that it may be easily managed in a
single place when deploying new versions.
版本字符串可以使用SpEL 这样当部署新版本是就可以在指定的位置更轻松的管理。
As an example, let's consider an application that uses a performance-optimized custom build (as recommended) of the Dojo JavaScript library in production, and that the build is generally deployed within the web application at a path of /public-resources/dojo/dojo.js.
举个例子,我们考虑一个应用使用Dojo js类库产品中推荐使用而且性能良好的,通常部署在web应用的/public-resources/dojo/dojo.js
Since different parts of Dojo may be incorporated into the custom build for each new version of the application, the client web browsers need to be forced to re-download that custom-built dojo.js resource any time a new version of the application is deployed.
……(翻不出了,上一句也翻的不太对),浏览器需要随时强制下载新版本的dojo.js
A simple way to achieve this would be to manage the version of the application in a properties file, such as:
最简单的方法就是在properties文件中管理版本信息,例如:
application.version=1.0.0
and then to make the properties file's values accessible to SpEL as a bean using the util:properties tag:
使用util:properties标签把properties文件的内容提供给SpEL
<util:properties id="applicationProps" location="/WEB-INF/spring/application.properties"/>
With the application version now accessible via SpEL, we can incorporate this into the use of the resources tag:
通过SpEL得到应用的版本,可以把他加入到用到的resources标签:
<mvc:resources mapping="/resources-#{applicationProps['application.version']}/**" location="/public-resources/"
and finally, to request the resource with the proper URL, we can take advantage of the Spring JSP tags:
最后,可以使用spring jsp标签表示请求资源的url:
<spring:eval expression="@applicationProps['application.version']" var="applicationVersion"/>
<spring:url value="/resources-{applicationVersion}" var="resourceUrl">
<spring:param name="applicationVersion" value="${applicationVersion}"/>
</spring:url>
<script src="${resourceUrl}/dojo/dojo.js" type="text/javascript"> </script>

分享到:
评论

相关推荐

    Spring-Reference_zh_CN(Spring中文参考手册)

    2.5.1. Spring MVC的表单标签库 2.5.2. Spring MVC合理的默认值 2.5.3. Portlet 框架 2.6. 其他特性 2.6.1. 动态语言支持 2.6.2. JMX 2.6 .3. 任务规划 2.6.4. 对Java 5(Tiger)的支持 2.7. 移植到Spring 2.0 ...

    Spring 2.0 开发参考手册

    2.5.1. Spring MVC的表单标签库 2.5.2. Spring MVC合理的默认值 2.5.3. Portlet 框架 2.6. 其他特性 2.6.1. 动态语言支持 2.6.2. JMX 2.6.3. 任务规划 2.6.4. 对Java 5(Tiger)的支持 2.7. 移植到Spring ...

    spring framework 2.0 dist 资源文件

    2. **docs**:官方文档,包括API参考、用户指南和开发者手册,帮助开发者理解和使用Spring。 3. **src**:源代码,对于学习和调试Spring框架非常有帮助。 4. **samples**:示例项目,展示了如何配置和使用Spring的...

    springMVC学习手册

    一个典型的 Spring MVC 项目结构包括:src/main/java(源代码),src/main/resources(资源配置),src/main/webapp(Web 应用资源,如静态文件和视图)。 **6. 总结** Spring MVC 提供了一整套成熟的 Web 开发...

    水产品销售网源码&java毕业设计(完整前后端+数据库+说明文档+LW).zip

    7. **文档**:这个目录可能包含了项目的需求文档、设计文档、使用手册等,是理解项目业务逻辑和实现细节的重要参考资料。 8. **LW**:这个缩写没有明确解释,可能是指Lightweight,暗示项目的轻量级特性,或者是...

    基于SSM的基于SSM的宠物管理系统ssm-宠物管理系统lw+ppt.rar

    2. **Spring MVC**:作为Spring的一个模块,Spring MVC是用于构建Web应用的模型-视图-控制器(MVC)框架。在本项目中,Spring MVC处理HTTP请求,将请求分发到对应的Controller,Controller再调用Service进行业务逻辑...

    Spring API

    2.5.1. Spring MVC合理的默认值 2.5.2. Portlet 框架 2.5.3. 基于Annotation的控制器 2.5.4. Spring MVC的表单标签库 2.5.5. 对Tiles 2 支持 2.5.6. 对JSF 1.2支持 2.5.7. JAX-WS支持 2.6. 其他 2.6.1. 动态...

    spring chm文档

    Spring Framework 开发参考手册 Rod Johnson Juergen Hoeller Alef Arendsen Colin Sampaleanu Rob Harrop Thomas Risberg Darren Davison Dmitriy Kopylenko Mark Pollack Thierry Templier Erwin ...

    课设毕设基于SSM的银发在线教育云平台LW+源码可运行.zip

    SSM框架是Java web开发中常用的三大框架Spring、Spring MVC和MyBatis的组合,它在构建高效、灵活的企业级应用程序方面发挥着重要作用。在这个基于SSM的银发在线教育云平台项目中,我们可以深入探讨以下几个核心知识...

    Spring中文帮助文档

    2.5.1. Spring MVC合理的默认值 2.5.2. Portlet 框架 2.5.3. 基于Annotation的控制器 2.5.4. Spring MVC的表单标签库 2.5.5. 对Tiles 2 支持 2.5.6. 对JSF 1.2支持 2.5.7. JAX-WS支持 2.6. 其他 2.6.1. 动态...

    阿里巴巴Java开发手册终极版v1.3.0.zip

    《阿里巴巴Java开发手册终极版v1.3.0》是一份全面、细致的Java开发规范,旨在帮助开发者遵循最佳实践,提升代码质量,降低维护成本,对于任何Java开发者来说,都是值得深入学习和参考的宝贵资源。

    struts中文手册.rar

    9. ** strut2与Spring集成**:Struts2可以与Spring框架无缝集成,实现依赖注入,提高应用的灵活性和可测试性。 10. **最佳实践和案例研究**:手册可能包含了实际开发中的最佳实践和案例,帮助开发者避免常见错误,...

    基于MVC的Java资源管理器 v2.0

    在Java中,我们可以使用标准库如Servlet、JSP等来开发Web应用,或者使用Spring框架实现MVC模式,提高开发效率和代码质量。 3. **资源管理**: 在Java资源管理器中,资源可能包括文件、数据库连接、内存中的对象等...

    管理系统系列--基于SSM框架下实现的宿舍信息管理系统.zip

    SSM是Java Web开发中常用的技术栈,它整合了Spring的核心功能、Spring MVC的Web层处理和MyBatis的持久层操作。 【描述】虽然描述简洁,但我们可以推测该系统具备以下关键特性: 1. **Spring**:作为基础架构框架,...

    framework开发手册.doc

    Struts 把 Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套 MVC 模式,极大的节省了时间。 二、Spring 简介 Spring 是一个解决了...

    基于spring boot的仓库物流管理系统.zip

    这个描述暗示了项目主要使用Spring Boot作为后端技术栈,可能结合了MVC(Model-View-Controller)架构模式,以实现业务逻辑、数据持久化和用户界面的分离。 【标签】:“java”、“springboot”、“毕业设计”这三...

    常用的开发手册,都是chm格式,帮助文档,很好用

    6. **Spring3.0.2-RELEASE-API.chm**:Spring是一个流行的Java企业级应用框架,这个文档是Spring 3.0.2版本的API参考,包括依赖注入、AOP(面向切面编程)、数据访问、Web MVC等模块的详细说明。 7. **w3school完整...

    JAVA 开发移动ssh项目(struts+spring+hibernate+oracle)130222.zip

    - `resources`:配置文件,如struts.xml、spring配置文件、hibernate.cfg.xml等,以及数据库连接参数和本地化资源文件。 - **WEB-INF**:Web应用的特殊目录,包含web.xml(Web应用的部署描述符)和其他库文件(如...

    基于ssm南阳特产销售平台.zip

    2. **SpringMVC**:Spring MVC是Spring框架的一个模块,负责处理HTTP请求,实现Model-View-Controller(MVC)设计模式,提供前后端交互的能力。 3. **MyBatis**:MyBatis是一个持久层框架,它允许开发者将SQL语句...

    基于ssm网络在线考试系统.zip

    - **Spring**:提供依赖注入,AOP(面向切面编程),以及Spring MVC用于构建Web应用。 - **Struts**:负责请求分发和控制流程,处理HTTP请求并调用业务逻辑。 - **MyBatis**:持久层框架,简化了SQL操作,通过XML或...

Global site tag (gtag.js) - Google Analytics