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">

SpringMVC REST 风格静态资源访问配置,布布扣,bubuko.com

时间: 07-28

SpringMVC REST 风格静态资源访问配置的相关文章

SpringBoot 常用配置 静态资源访问配置/内置tomcat虚拟文件映射路径

Springboot 再模板引擎中引入Js等文件,出现服务器拒绝访问的错误,需要配置过滤器 静态资源访问配置 @Configuration @EnableWebMvc public class StaticResourceConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHand

nginx 静态资源访问配置

server {         listen 443;         server_name localhost;         ssl on; # 此处可配置域名访问,默认的首页 #       root html;   #目录 #       index weixin/index.html; #       rewrite ^/ https://www.baidu.com   #       location / { #               root html; #     

java web 静态资源访问配置三种方式

方案一:Tomcat的defaultServlet来处理静态文件 要放在DispatcherServlet的前面, 让 defaultServlet先拦截请求,这样请求就不会进入Spring了 方案二: 在spring3.0.4以后版本提供了mvc:resource /images/**映射到ResourceHttpRequestHandler进行处理,location指定静态资源的位置.可以是web application根目录下.jar包里面,这样可以把静态资源压缩到jar包中.cache-

spring-springmvc搭建(三)springMVC添加对静态资源访问的支持及对Fastjson的支持

1.添加对静态资源.js/.img/.css的访问 方式有3种: 1,更改springmvc 的DispatherServlet的urlpattern的路径改为“/*.do”. 2.添加<mvc:default-servlet-handler>,同时在web.xml中添加default的映射类型,目的让springmvc识别出那些可以放行,那些不可以. 在springmvc的上下文中添加: <mvc:default-servlet-handler/> 在web.xml中<se

spring-boot-plus V1.2.1 发布 文件上传下载和静态资源访问

[V1.2.1-RELEASE] 2019.08.21 ?? New Features 文件上传保存到服务器指定目录 文件下载 访问上传的图片等资源 启用项目静态资源访问,可访问static/templates目录下资源 ?? Optimization static资源访问:http://localhost:8888/static/welcome.html templates资源访问:http://localhost:8888/templates/springbootplus.html 上传sw

【SpringMVC】静态资源访问的问题

在项目中经常会用到一些静态的资源,而一般我们在配置SpringMVC时会让SpringMVC接管所有的请求(包括静态资源的访问), 那么我们怎样才能最简单的来配置静态资源的访问呢? 一,在web.xml中让SpringMVC接管所有请求 如图 二,在SpringMVC中配置静态资源映射路径 这句话的意思是将ccc这个文件夹的访问路径映射为javaScript 也就是说 我们在地址栏里面访问JavaScript下的某个图片,其实经过SpringMVC的处理后,访问的是ccc下的文件 例如我们要访问

Django1.7如何配置静态资源访问

Django是非常轻量级的Web框架,今天散仙来看下如何在Django中配置静态的资源访问路径,一个中等规模的网站,可能就会有很多静态的资源需要访问,无论是html,txt,还是压缩包,有时候访问这些资源我们并不需要过多的限制,所以任由用户访问,这时我们就没必要在加一个request请求,转发或重定向访问,我们可以直接使用Django的静态资源访问策略. 默认在django里是不支持静态资源访问的,我们需要稍微配置映射才可以. (1)确认你的INSTALLED_APPS里面有'django.co

spring mvc官网下最新jar搭建框架-静态资源访问处理-注解-自动扫描

1.从官网下载spring相关jar http://spring.io/projects 点击SPRING FRAMEWORK 2.从GitHtb下载 3.向下滚动找到Downloading Artifacts 点击 4.点击Artifacts-->libs-release-local-->org-->springframewor-->spring 5.选中一个自己需要的版本(我选了4.2.5) 6.下载后的文件 配置文件的规范约束下面文件夹有的都可以写(我用到了beans, co

【springMVC】之静态文件访问

上篇博客介绍了springMVC参数的传递,今天我们来说说springMVC静态文件的访问.我们所说的静态文件通常是指只有文本或图片,且不会通过后台的控制来更改的元素.如果可以通过后台控制就不属于静态文件了.我们这里要讲一下图片.js文件. 我们首先来说springMVC是如何访问图片的.首先先建目录,建img.js.css目录,这三个目录是最基础的东西. 然后创建一个jsp页面. <body> <h>图片访问</h> <div> <img alt=&