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

SpringMVC REST 风格静态资源访问配置

阅读更多

近来学习springmvc,使用REST风格,发现会遇到静态资源的访问亦被拦截的问题,现将解决方法记录如下:

 

1 在web.xml中使用默认servlet处理静态资源,缺点是如果静态资源过多,则配置量会比较大,一旦有遗漏,则会造成资源无法正常显示或404错误。

 

<!-- 静态资源访问控制 -->
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.jpg</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.png</url-pattern>
    </servlet-mapping>
    <!-- rest风格的拦截,需进行静态资源访问配置 -->
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

 

 

 

2 在springmvc配置文件中配置

我的所有静态资源都在WebContent/static/之下,下有如下目录WebContent/static/img,WebContent/static/css,WebContent/static/js等等,在springmvc配置文件中添加如下配置,以下两个配置二选一即可,当然配置两最小的是第二种了,第一种的优势在于可以自主定制,可以规定哪些静态资源是可以访问的,哪些是不能访问的。

 

<!--静态资源的访问配置,文件夹配置,二选一 -->
<mvc:resources mapping="/static/**" location="/static/" cache-period="31556926"/>
<!--静态资源的访问配置,文件夹配置,二选一 -->
<mvc:default-servlet-handler/>

 

 

 

FAQ:

如果在配置文件中无法使用<mvc:相关的标签,可能是你未引入xmlns:mvc="http://www.springframework.org/schema/mvc"命名空间,其次spring版本3.0以上,我的是3.0.5版本的,测试可行。

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:aop="http://www.springframework.org/schema/aop" 
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc" 
	xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/aop    
	        http://www.springframework.org/schema/aop/spring-aop-3.0.xsd    
	        http://www.springframework.org/schema/beans    
	        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd    
	        http://www.springframework.org/schema/context    
	        http://www.springframework.org/schema/context/spring-context-3.0.xsd    
	        http://www.springframework.org/schema/mvc    
	        http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd    
        	http://www.springframework.org/schema/tx    
	        http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
 

 

分享到:
评论

相关推荐

    ssm框架整合及Rest风格接口实现

    在SpringMVC的配置文件中,需要定义Controller类的扫描,以及视图解析器、静态资源处理等。这样配置后,SpringMVC能够正确处理前端请求,并返回相应的视图或数据。 5. 配置Mybatis。Mybatis的配置通常包括数据库...

    springMVC实战指南高清PDF

    新特性包括支持REST风格的URL,这意味着可以更容易地创建RESTful Web服务。还提供了更多的注解,允许开发者通过注解实现完全的驱动开发,这减少了配置的工作量。此外,引入了HTTP输入输出转换器...

    springmvc+velocity+ Rest Services(xml,json)实例

    - `src/main/webapp`:存放Web应用资源,如Velocity模板文件、静态资源等 - `pom.xml`:Maven的配置文件 **5. 实例操作流程** - 首先,使用Maven构建项目,确保所有依赖被正确下载和解析。 - 然后,配置Spring MVC...

    浅谈SpringMVC对RESTfull的支持

    同时,通过`&lt;mvc:resources&gt;`配置,可以确保静态资源的正常访问,从而在实现功能丰富的Web应用的同时,保持良好的用户体验。掌握这些知识点,可以帮助开发者构建更加优雅、易于理解和扩展的Web服务。

    springmvc+spring+mybatis

    - `src/main/webapp`:对于 Web 项目,这里存放静态资源(如 HTML、CSS、JS)和 WEB-INF 目录,后者通常包含 web.xml 文件。 - `src/test/java` 和 `src/test/resources`:存放单元测试的代码和资源。 在实际开发中...

    01_springmvc基础_3

    - 配置包括视图解析器、静态资源处理、拦截器等。 14. **Spring Data JPA 与 Spring MVC 结合** - Spring Data JPA 提供了一种简化数据库访问的抽象层,可以与 Spring MVC 完美集成,实现高效的数据操作。 通过...

    spring-mvc的增删改查(crud)的实现

    在`WebMvcConfigurerAdapter`的子类中,可以重写`addResourceHandlers`方法来设置静态资源路径,例如: ```java @Configuration @EnableWebMvc public class WebConfig extends WebMvcConfigurerAdapter { @...

    Spring MVC

    - **对静态资源处理提供特殊支持**:简化静态资源的处理。 - **更加灵活的控制器方法签名**:可以完全独立于 Servlet API 编写控制器方法。 综上所述,Spring MVC 不仅提供了一种强大的方式来处理 Web 请求,还提供...

    SpingMVC.pdf

    - **支持REST风格URL:**SpringMVC天然支持REST风格的URL,使得构建RESTful Web服务变得简单直观。 - **简化配置:**SpringMVC的配置相对简单,可以通过XML或者Java配置来实现。 #### 二、SpringMVC HelloWorld示例...

    基于REST前后端分离架构. 使用SSM框架实现CRUD管理系统. .zip

    REST(Representational State Transfer)是一种网络应用程序的设计风格和开发方式,强调资源的表述状态转移。在本项目中,后端通过定义一组RESTful API,如GET、POST、PUT、DELETE等,对外提供服务,允许前端通过...

    Spring MVC 3.0实战指南.ppt

    《Spring MVC 3.0实战指南》...静态资源处理:使REST风格的URL成为实现 静态资源处理:原理 静态资源处理:如何配置? 静态资源处理:如何配置? 物理静态资源路径映射逻辑资源路径 允许利用浏览器的缓存且不当心不同步 AQ?

    springMvcRestIbatisDemo.zip 实例程序 实现简单登录 及增删改查

    2. **RESTful**:REST(Representational State Transfer)是一种软件架构风格,主要用于设计网络应用程序。RESTful API使用HTTP方法(GET、POST、PUT、DELETE)来表示资源的操作。在本例中,可能有如"/users/{...

    基于springboot游戏分享网站.zip

    - `src/main/resources`: 配置文件、静态资源(如CSS、JS)和模板文件(如Thymeleaf或Freemarker)。 - `pom.xml`: Maven项目对象模型,定义项目依赖和构建过程。 - `application.properties`或`application.yml`: ...

    SpringBoot+Mybatis+Thymeleaf架构实现的员工管理系统源码+数据库适合java毕业设计,课设等.

    它在浏览器端被解析,使得开发者可以在静态页面中直接编写代码,提供了与SpringMVC的良好集成。在员工管理系统中,Thymeleaf用于前端视图的渲染,实现动态内容展示。 **4. 数据库设计** 此系统通常会包含如员工信息...

    Java项目实战《苍穹外卖》基于SpringBoot+SSM企业级项目实战2023 视频教程 下载 因为太大存百度云盘3.zip

    5. **RESTful API设计**:项目可能采用了REST(Representational State Transfer)架构风格来设计API,以便服务之间进行通信。RESTful API遵循HTTP协议,使用HTTP方法(GET、POST、PUT、DELETE等)来操作资源。 6. ...

    开源项目扩展

    1. **性能优化**:如减少HTTP请求、压缩静态资源、启用HTTP缓存等。 2. **用户体验**:改进UI设计,使其更符合用户习惯,添加更多的交互元素。 3. **功能扩展**:添加自定义图表、表单验证、日历插件等,以提高后台...

    spring学习文档及源码笔记

    这个资源包含的"spring学习文档及源码笔记"是深入理解并掌握 Spring MVC 的宝贵资料。下面,我们将详细探讨 Spring MVC 的核心概念、工作原理以及如何利用它来构建 Web 应用。 1. **Spring MVC 架构** - **...

Global site tag (gtag.js) - Google Analytics