`
tanzhen-1988
  • 浏览: 52538 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring mvc 的 resources 注解 用来处理静态文件 (转)

阅读更多

spring mvc 的<mvc;resources mapping="***" location="***">标签是在spring3.0.4出现的,主要是用来进行静态资源的访问。在spring3.0.4出来的时候 spring还没有更新其schema所以在配置文件中有可能找不到<mvc:resources >标签,这个问题在spring3.0.5中已经解决,而且网上也有很多其他的解决方案,我在这里就不记录了。

首先使用spring mvc需要配置其使用的servlet.在web.xml中:

Java代码  收藏代码
  1. <servlet>  
  2.     <servlet-name>springMVC</servlet-name>  
  3.     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
  4.     <load-on-startup>1</load-on-startup>  
  5.     </servlet>  
  6.   
  7.     <servlet-mapping>  
  8.         <servlet-name>springMVC</servlet-name>  
  9.         <url-pattern>/</url-pattern>  
  10.     </servlet-mapping>  


这里给 servlet-name定义的名称是springMVC,这样的话会在web-inf下spring会自动扫描一个XML文件名叫springMVC- servlet.xml文件,这里都是spring自动扫描的,如果你没有提供,将会报一个文件查找不到的异常。看了下 org.springframework.web.servlet.DispatcherServlet加载这个文件的过程,貌似这个文件存放的地址也是 可以进行设置的,具体怎么搞我还没有研究。

由于spring mvc拦截了所有请求,所以当你设置

引用
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>


的时候会影响到静态资源文件的获取,这样就需要有这个标签来帮你分类完成获取静态资源的责任。

springMVC-servlet.xml文件

Java代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"    
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    
  4.     xmlns:mvc="http://www.springframework.org/schema/mvc"  
  5.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd     
  6.     http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">     
  7.   
  8.     <mvc:resources mapping="/javascript/**" location="/static_resources/javascript/"/>  
  9.     <mvc:resources mapping="/styles/**" location="/static_resources/css/"/>  
  10.     <mvc:resources mapping="/images/**" location="/static_resources/images/"/>  
  11.     <mvc:default-servlet-handler />  
  12.       
  13.       
  14.     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
  15.         <property name="prefix" value="/WEB-INF/views/"/>  
  16.         <property name="suffix" value=".jsp"/>  
  17.     </bean>  
  18.   
  19. </beans>  


这里可以看到我所有的页面引用到/styles/**的资源都从/static_resources/css里面进行查找。

页面的一段静态资源访问的代码。

Java代码  收藏代码
  1. <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%>  
  2. <HTML>  
  3. <HEAD>  
  4.   <TITLE> ABCDEFG </TITLE>  
  5. <link type="text/css" rel="stylesheet" href="<c:url value='/styles/siteboard.css'/>">  
  6. ...  
  7. ...  
  8. ...  



可能这个标签的真谛就是为了引用资源的访问不会类似CONTROLLER一样被拦截,区分出关注的资源的访问,一般我们在springMVC里面的拦截都会配置为"/",拦截所有的。

 

转自:http://ericxiong.iteye.com/blog/1009030

分享到:
评论

相关推荐

    spring mvc restful service

    5. **项目结构**:一个典型的Spring MVC Maven项目结构包括`src/main/java`(存放源代码)、`src/main/resources`(存放配置文件和静态资源)、`src/main/webapp/WEB-INF`(存放`web.xml`配置文件)等。 6. **配置...

    spring mvc

    在 Spring MVC 中,可以通过配置 `&lt;mvc:resources&gt;` 标签来指定静态资源的映射路径。例如: ```xml &lt;mvc:resources mapping="/static/**" location="/WEB-INF/static/" /&gt; ``` 这样设置后,客户端可以通过 `/static/...

    SevenDay-Spring MVC(基于Spring MVC实现文件上传与下载)的源代码

    在这个"SevenDay-Spring MVC 实现文件上传与下载"项目中,我们将深入探讨如何利用Spring MVC来处理文件的上传和下载。 首先,`pom.xml`是项目的核心配置文件,它定义了项目的依赖管理。在这个项目中,可以看到对`...

    第四章 Spring MVC Rest风格的url、静态资源标签

    在本章中,我们将深入探讨Spring MVC框架中的RESTful风格URL设计以及如何处理静态资源。REST(Representational State Transfer)是一种软件架构风格,常用于Web服务设计,它强调通过HTTP方法(如GET、POST、PUT、...

    Spring MVC实现文件的上传下载

    最后,关于`web_project_copy`这个文件夹,这通常代表一个Web项目的副本,可能包含了Spring MVC项目的结构,如`src/main/java`(存放Java代码)、`src/main/resources`(存放配置文件和静态资源)、`WEB-INF/web.xml...

    spring mvc过程详解

    Spring MVC 提供了多种方式来处理静态资源,如 CSS、JavaScript 和图片等: 1. **资源映射**:通过 `&lt;mvc:resources&gt;` 或者 `@WebMvcConfigurer` 接口中重写 `addResourceHandlers` 方法来配置静态资源的路径。 2. ...

    spring mvc_04

    在Spring MVC框架中,"MultiActionController"是一个老式的控制器,它在早期版本中被用来处理多个HTTP请求方法。在本教程"spring mvc_04"中,我们将深入探讨如何使用MultiActionController来实现静态资源的访问。...

    Spring MVC eclipse开发(Demo源码)

    - `src/main/resources`:存放配置文件,如spring配置文件、数据库连接配置等。 - `src/main/webapp`:Web应用目录,包含`WEB-INF`下的web.xml,以及静态资源(如HTML、CSS、JavaScript)和JSP页面。 4. **...

    Spring MVC Demo

    3. **src/main/resources**:放置配置文件,如Spring的XML配置或Java配置,以及静态资源(如JS、CSS、图片)。 4. **Web-INF**:Web应用的特定目录,可能包含web.xml文件,用于配置DispatcherServlet和其他Servlet。...

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

    6. **src**:源代码目录,通常分为两部分:`src/main/java` 存放 Java 代码,`src/main/resources` 存放静态资源和配置文件。在这个 Spring MVC 项目中,控制器(Controller)、模型(Model)、视图解析器(View ...

    spring mvc 项目

    除此之外,Spring MVC还支持国际化、主题、异常处理等功能,提供了丰富的注解,如@RequestMapping、@RestController、@RequestParam等,简化了开发流程。 2. **MyBatis 框架** MyBatis是一个优秀的持久层框架,它...

    spring-mvc-study.zip

    2. src/main/resources:存放配置文件,如Spring的配置文件(applicationContext.xml、servlet-context.xml)、数据库连接配置(db.properties)等。 3. src/main/webapp:Web应用目录,包含WEB-INF、static、views...

    spring4-mvc-gradle

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

    spring+spring mvc+mybatis配置Demo

    - src/main/webapp:包含Web应用的静态资源、WEB-INF下的`web.xml`,以及Spring MVC的配置文件。 在运行Demo时,启动Tomcat服务器,访问配置好的URL,可以看到Spring MVC接收到请求后,通过Spring管理的Service调用...

    JakartaEE Spring MVC

    - `src/main/resources`: 存放配置文件,如Spring的applicationContext.xml或applicationConfig.java。 - `src/main/webapp`: Web应用的根目录,包含WEB-INF下的web.xml(配置DispatcherServlet)、JSP页面和其他...

    spring+spring mvc + mybatis

    Spring作为核心框架提供了依赖注入(DI)和面向切面编程(AOP),Spring MVC是Spring框架的一部分,专门用于处理Web请求,而MyBatis则是一个持久层框架,简化了数据库操作。 1. **Spring框架**:Spring 是一个开源...

    spring mvc的例子

    - `src/main/resources`:存放配置文件,如spring-mvc.xml、application.properties等。 - `src/main/webapp/WEB-INF/web.xml`:Web应用的部署描述符。 - `src/main/webapp/WEB-INF/spring`:Spring MVC的特定配置...

    spring mvc项目整合

    2. `src/main/resources`: 存放配置文件,如Spring的bean配置、MyBatis的配置以及数据源配置。 3. `src/main/webapp`: Web应用目录,包含静态资源、视图解析路径、WEB-INF目录下的web.xml配置文件。 4. `src/main/...

    spring mvc+spring+mybatis架构实例

    Spring MVC允许通过`&lt;mvc:resources&gt;`标签配置访问静态资源,如CSS、JavaScript、图片等。这通常在Spring MVC的配置类中进行,通过`addResourceHandlers()`方法指定静态资源的路径,并设定其映射规则。 综上所述,...

Global site tag (gtag.js) - Google Analytics