spring mvc 的<mvc;resources mapping="***" location="***">标签是在spring3.0.4出现的,主要是用来进行静态资源的访问。在spring3.0.4出来的时候 spring还没有更新其schema所以在配置文件中有可能找不到<mvc:resources >标签,这个问题在spring3.0.5中已经解决,而且网上也有很多其他的解决方案,我在这里就不记录了。
首先使用spring mvc需要配置其使用的servlet.在web.xml中:
- <servlet>
- <servlet-name>springMVC</servlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
- <load-on-startup>1</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>springMVC</servlet-name>
- <url-pattern>/</url-pattern>
- </servlet-mapping>
这里给 servlet-name定义的名称是springMVC,这样的话会在web-inf下spring会自动扫描一个XML文件名叫springMVC- servlet.xml文件,这里都是spring自动扫描的,如果你没有提供,将会报一个文件查找不到的异常。看了下 org.springframework.web.servlet.DispatcherServlet加载这个文件的过程,貌似这个文件存放的地址也是 可以进行设置的,具体怎么搞我还没有研究。
由于spring mvc拦截了所有请求,所以当你设置
<servlet-name>springMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
的时候会影响到静态资源文件的获取,这样就需要有这个标签来帮你分类完成获取静态资源的责任。
springMVC-servlet.xml文件
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:mvc="http://www.springframework.org/schema/mvc"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
- http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
- <mvc:resources mapping="/javascript/**" location="/static_resources/javascript/"/>
- <mvc:resources mapping="/styles/**" location="/static_resources/css/"/>
- <mvc:resources mapping="/images/**" location="/static_resources/images/"/>
- <mvc:default-servlet-handler />
- <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
- <property name="prefix" value="/WEB-INF/views/"/>
- <property name="suffix" value=".jsp"/>
- </bean>
- </beans>
这里可以看到我所有的页面引用到/styles/**的资源都从/static_resources/css里面进行查找。
页面的一段静态资源访问的代码。
- <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%>
- <HTML>
- <HEAD>
- <TITLE> ABCDEFG </TITLE>
- <link type="text/css" rel="stylesheet" href="<c:url value='/styles/siteboard.css'/>">
- ...
- ...
- ...
可能这个标签的真谛就是为了引用资源的访问不会类似CONTROLLER一样被拦截,区分出关注的资源的访问,一般我们在springMVC里面的拦截都会配置为"/",拦截所有的。
转自:http://ericxiong.iteye.com/blog/1009030
相关推荐
5. **项目结构**:一个典型的Spring MVC Maven项目结构包括`src/main/java`(存放源代码)、`src/main/resources`(存放配置文件和静态资源)、`src/main/webapp/WEB-INF`(存放`web.xml`配置文件)等。 6. **配置...
在 Spring MVC 中,可以通过配置 `<mvc:resources>` 标签来指定静态资源的映射路径。例如: ```xml <mvc:resources mapping="/static/**" location="/WEB-INF/static/" /> ``` 这样设置后,客户端可以通过 `/static/...
在这个"SevenDay-Spring MVC 实现文件上传与下载"项目中,我们将深入探讨如何利用Spring MVC来处理文件的上传和下载。 首先,`pom.xml`是项目的核心配置文件,它定义了项目的依赖管理。在这个项目中,可以看到对`...
在本章中,我们将深入探讨Spring MVC框架中的RESTful风格URL设计以及如何处理静态资源。REST(Representational State Transfer)是一种软件架构风格,常用于Web服务设计,它强调通过HTTP方法(如GET、POST、PUT、...
最后,关于`web_project_copy`这个文件夹,这通常代表一个Web项目的副本,可能包含了Spring MVC项目的结构,如`src/main/java`(存放Java代码)、`src/main/resources`(存放配置文件和静态资源)、`WEB-INF/web.xml...
Spring MVC 提供了多种方式来处理静态资源,如 CSS、JavaScript 和图片等: 1. **资源映射**:通过 `<mvc:resources>` 或者 `@WebMvcConfigurer` 接口中重写 `addResourceHandlers` 方法来配置静态资源的路径。 2. ...
在Spring MVC框架中,"MultiActionController"是一个老式的控制器,它在早期版本中被用来处理多个HTTP请求方法。在本教程"spring mvc_04"中,我们将深入探讨如何使用MultiActionController来实现静态资源的访问。...
- `src/main/resources`:存放配置文件,如spring配置文件、数据库连接配置等。 - `src/main/webapp`:Web应用目录,包含`WEB-INF`下的web.xml,以及静态资源(如HTML、CSS、JavaScript)和JSP页面。 4. **...
3. **src/main/resources**:放置配置文件,如Spring的XML配置或Java配置,以及静态资源(如JS、CSS、图片)。 4. **Web-INF**:Web应用的特定目录,可能包含web.xml文件,用于配置DispatcherServlet和其他Servlet。...
6. **src**:源代码目录,通常分为两部分:`src/main/java` 存放 Java 代码,`src/main/resources` 存放静态资源和配置文件。在这个 Spring MVC 项目中,控制器(Controller)、模型(Model)、视图解析器(View ...
除此之外,Spring MVC还支持国际化、主题、异常处理等功能,提供了丰富的注解,如@RequestMapping、@RestController、@RequestParam等,简化了开发流程。 2. **MyBatis 框架** MyBatis是一个优秀的持久层框架,它...
2. src/main/resources:存放配置文件,如Spring的配置文件(applicationContext.xml、servlet-context.xml)、数据库连接配置(db.properties)等。 3. src/main/webapp:Web应用目录,包含WEB-INF、static、views...
2. `src/main/resources`:用于存储静态资源,如配置文件、国际化文件等。 3. `build.gradle`:Gradle构建脚本,定义了项目依赖和构建任务。 4. `gradlew` 和 `gradlew.bat`:这两个脚本分别用于Unix/Linux和Windows...
- src/main/webapp:包含Web应用的静态资源、WEB-INF下的`web.xml`,以及Spring MVC的配置文件。 在运行Demo时,启动Tomcat服务器,访问配置好的URL,可以看到Spring MVC接收到请求后,通过Spring管理的Service调用...
- `src/main/resources`: 存放配置文件,如Spring的applicationContext.xml或applicationConfig.java。 - `src/main/webapp`: Web应用的根目录,包含WEB-INF下的web.xml(配置DispatcherServlet)、JSP页面和其他...
Spring作为核心框架提供了依赖注入(DI)和面向切面编程(AOP),Spring MVC是Spring框架的一部分,专门用于处理Web请求,而MyBatis则是一个持久层框架,简化了数据库操作。 1. **Spring框架**:Spring 是一个开源...
- `src/main/resources`:存放配置文件,如spring-mvc.xml、application.properties等。 - `src/main/webapp/WEB-INF/web.xml`:Web应用的部署描述符。 - `src/main/webapp/WEB-INF/spring`:Spring MVC的特定配置...
2. `src/main/resources`: 存放配置文件,如Spring的bean配置、MyBatis的配置以及数据源配置。 3. `src/main/webapp`: Web应用目录,包含静态资源、视图解析路径、WEB-INF目录下的web.xml配置文件。 4. `src/main/...
Spring MVC允许通过`<mvc:resources>`标签配置访问静态资源,如CSS、JavaScript、图片等。这通常在Spring MVC的配置类中进行,通过`addResourceHandlers()`方法指定静态资源的路径,并设定其映射规则。 综上所述,...