`
wokgsi2
  • 浏览: 13333 次
社区版块
存档分类
最新评论

spring mvc - 对静态资源的处理

 
阅读更多
spring对静态资源文件(js css htm html jpg jepg png bmp)等的处理方式如下:
一、交由上级web容器处理,在web.xml中的org.springframework.web.servlet.DispatcherServlet 配置之前加入如下代码:
<servlet-mapping> 
	<servlet-name>default</servlet-name> 
	<url-pattern>*.css</url-pattern> 
</servlet-mapping>

根据不同的资源文件制定不同的映射机制,其中servlet-name在tomcat中默认是default,该servlet在tomcat\config\web.xml文件中默认配置,不同的应用服务器对应的静态资源文件处理的servlet名称不尽相同,如下:
tomcat,jboss,glassfish,jetty : defaut;
weblogic : FileServlet;
websphere : SimpleFileServlet;
resin : resin-file;
GAE : _ah_default

二、交由spring mvc:resources 处理
在dispatchServlet.xml文件中增加
<mvc:resources location="/WEB-INF/resource/" mapping="/resource/**"/>
该方式虽然静态资源文件可以访问了,但是如果系统配置了通配符的拦截器,静态资源还是会被拦截器拦截,如下:
<mvc:interceptors>
    <mvc:interceptor>
    	<mvc:mapping path="/*"/> 
	<bean  class="com.xinlong.cms.front.interceptor.CmsFrontInterceptor"></bean>
    </mvc:interceptor>
</mvc:interceptors>

因此需要修改,如下:
<mvc:interceptors>
    <mvc:interceptor>
    	<mvc:mapping path="/*"/> 
    	<mvc:exclude-mapping path="/resource/**"/>
	<bean  class="com.xinlong.cms.front.interceptor.CmsFrontInterceptor"></bean>
    </mvc:interceptor>
</mvc:interceptors>

到此还有个问题mvc:exclude-mapping 标签不被spring-mvc-3.0.xsd支持,该配置在spring-mvc-3.2.xsd中,可以通过http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd获取,因此需要在spring-mvc-3.0.xsd文件中增加该标签,处理办法很简单,从网上下载spring-mvc-3.2.xsd,找到标签后,再找到spring.web.servlet-3.0.5.jar中的spring-mvc-3.0.xsd文件,将标签加入即可。
分享到:
评论
1 楼 rwc2008 2013-11-05  
我从spring官网下载的spring-3.2.0.M1.zip中有【spring-mvc-3.0.xsd,spring-mvc-3.1.xsd,spring-mvc-3.2.xsd】

但是这三个xsd中都没有定义拦截器标签的<exclude-mapping>子元素,导致我的springmvc拦截器在启动时报错,然而但编译时通过了。
我用浏览器打开【http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd】的文件中却是有这个<exclude-mapping>子元素的

请问楼主这是为什么呢?

相关推荐

    spring-mvc-study.zip

    static存放静态资源,如CSS、JavaScript和图片。views存放JSP或Thymeleaf等视图模板文件。 在"spring-mvc-study.zip"项目中,我们可能能看到以下文件: 1. web.xml:配置了DispatcherServlet,指定了Spring MVC的...

    spring4-mvc-gradle

    2. `src/main/resources`:用于存储静态资源,如配置文件、国际化文件等。 3. `build.gradle`:Gradle构建脚本,定义了项目依赖和构建任务。 4. `gradlew` 和 `gradlew.bat`:这两个脚本分别用于Unix/Linux和Windows...

    一个改进版的spring-mvc-showcase

    总的来说,"一个改进版的spring-mvc-showcase"项目展示了如何利用Spring MVC构建一个现代Web应用,并且可能涵盖了许多高级特性,如AOP(面向切面编程)、RESTful API设计、拦截器、数据校验、异常处理等。...

    Spring MVC和springboot静态资源处理.rar

    在Java Web开发中,Spring MVC和Spring Boot是两个非常重要的框架,它们都提供了对静态资源的处理机制。静态资源通常包括HTML、CSS、JavaScript、图片等文件,是构成Web应用程序用户体验的重要部分。本篇文章将详细...

    Spring MVC-demo项目源码

    Spring MVC 是一款强大的Java web开发框架,用于构建高效、可维护的Web应用程序。Maven 则是项目管理和依赖管理工具,使得开发人员可以方便地管理项目构建、报告和依赖关系。这个“Spring MVC-demo项目源码”是一个...

    spring-mvc-study.zip_spring mvc_spring mvc项目_springmvc

    在 Spring MVC 项目中,我们通常会在这里声明对 Spring Framework、Spring MVC 和其他相关库的依赖。 4. **target**:这个目录包含了 Maven 构建过程中生成的中间文件和最终的可部署工件,如编译后的类文件、打包后...

    spring-mvc-mybatis

    在现代Java Web开发中,Spring MVC和MyBatis是两个非常重要的框架,它们分别负责控制层和数据访问层的处理。Spring MVC作为Spring框架的一部分,提供了强大的MVC(Model-View-Controller)架构支持,而MyBatis则是一...

    Maven-Spring-Spring-MVC-MyBatis-MySQL

    3. **Spring MVC**:Spring MVC是Spring框架的一个模块,专门用于处理Web层的请求和响应。它提供了模型-视图-控制器(MVC)的设计模式,帮助开发者分离业务逻辑、数据处理和用户界面。在项目中,Spring MVC负责接收...

    spring-mvc-01.zip

    Spring MVC 是一个基于Java的轻量级Web应用框架,它为构建模型-视图-控制器(MVC)架构的应用程序提供...此外,文件中可能还包括错误处理、国际化、静态资源处理等相关配置,这些都是构建实际Web应用时经常遇到的问题。

    基于maven的spring4-mvc-hibernate4空框架,亲测可用

    - **RESTful支持**:Spring MVC提供对RESTful风格的URL处理,便于构建现代Web服务。 - **数据绑定**:自动将HTTP请求参数绑定到Java对象,减少手动代码。 - **异常处理**:统一的异常处理机制,简化错误处理。 2...

    spring-mvc-documentation-linesh-translation

    - **资源服务**: 可以配置 Spring MVC 来处理静态资源请求。 ### 总结 Spring Web MVC 提供了一个强大而灵活的框架来构建 Web 应用程序,它包含了各种功能和机制,使得开发者能够高效地开发出高性能、高可用性的 ...

    spring-mvc-step-by-step中文版

    ### Spring MVC Step-by-Step中文版知识点概览 #### 一、Spring框架核心概念与组成部分 **1.... - **定义**:控制反转是一种...对于希望深入了解Spring MVC并具备一定Java基础的学习者来说,这份教程将是宝贵的资源。

    spring-mvc-jasperReports

    Spring MVC是Spring框架的一部分,用于构建Web应用程序,而JasperReports是一个开源报告工具,用于生成静态和动态的业务报告。在这个项目中,开发者可能将JasperReports的功能与Spring MVC的控制器、服务和视图解析...

    springmvc-demo03-静态资源访问处理.zip

    总结来说,Spring MVC对静态资源的处理涉及了资源配置、版本控制、自定义处理逻辑以及安全策略等多个方面。通过合理的配置,我们可以使Spring MVC更好地服务于我们的Web应用,提高性能和用户体验。

    狂神说SpringSecurity静态资源.rar

    6. **过滤器链**:SpringSecurity的过滤器链对所有请求进行拦截,包括静态资源。理解并合理配置过滤器链顺序,可以避免因过滤器配置不当导致的资源访问问题。 7. **安全头部**:为了增强安全性,SpringSecurity可以...

    基于spring-MVC的在线测试系统(客观题)

    该在线测试系统是一个使用Spring-MVC框架构建的简单示例,旨在模拟实际的在线考试环境,尤其是处理客观题型。Spring-MVC是Spring框架的一部分,它提供了模型-视图-控制器(MVC)的设计模式,使得开发人员能够更有效...

    Spring mvc 教程

    - **处理一般的 Spring MVC 异常**:Spring MVC 自身的一些异常可以在这里统一处理。 - **使用 @ResponseStatus 注解业务异常**:为自定义异常添加 HTTP 状态码。 #### Servlet 默认容器错误页面的定制化 - **Web ...

    springmvc静态资源访问

    - **问题**:当使用默认的`DispatcherServlet`配置时,所有的URL请求都会被路由到Spring MVC控制器,这包括了对静态资源的请求。这会导致静态资源无法正常访问,因为控制器通常不处理这类请求。 - **解决方法**:...

Global site tag (gtag.js) - Google Analytics