Spring Boot静态资源配置说明

在 Spring Boot 中,默认情况下,一共有5个位置可以放静态资源,五个路径分别如下:

  1. classpath:/META-INF/resources/
  2. classpath:/resources/
  3. classpath:/static/
  4. classpath:/public/
  5. /

在使用IDEA创建SpringBoot项目时,默认会创建src/main/resource/static目录,即classpath:/static 目录,为了方便,可以将JSP页面所需的静态资源放到该目录下。第5个选项/的意思是对于webapp目录下的静态资源也不会被拦截,但在Spring Boot项目的默认结构中没有该目录,需要手动创建,例如使用JSP的时候就需要手动创建该目录。需要注意的是,如果同一个文件分别出现在这五个目录下,那么加载的优先级也是按照该顺序进行的。

一般情况下,使用/resource/static/目录存放页面的静态资源即可,然后可以在application.properties配置文件中对静态资源的进行配置,例如下面的配置:

# Static Resource-Filter Configuration Information
spring.mvc.static-path-pattern=/static/**
spring.resources.static-locations=classpath:/static/

其中第一行表示定义请求URL的规则。也就是如果resource/static目录下存在一个test.jpg的图片文件,能够访问它的URL为:localhost:8080/static/test.jpg

若该配置项被设置为:

spring.mvc.static-path-pattern=/**

则该图片资源的访问路径为:localhost:8080/test.jpg

第二行表示从哪里去查找静态资源,即静态资源所在的目录为resource/static目录下。

在Spring Boot中也可以使用代码的方式对Spring MVC中的配置进行设置,例如如上的静态配置设置如下:

@Configuration
public class WebMVCConfig implements WebMvcConfigurer {@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");}
}

JSP页面中静态资源的使用

根据以上的说明,JSP页面中的静态资源使用就比较明了了。例如我的项目中在resource/static静态资源目录下有easyui的静态资源如下:

同时在application.properties配置文件中对静态资源的配置如上不变。那么在webapp/WEB-INF/jsp目录下页面中,对静态easyui静态资源的引入即可如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>User List</title><link rel="stylesheet" type="text/css" href="/static/jquery-easyui-1.7.0/themes/default/easyui.css"><link rel="stylesheet" type="text/css" href="/static/jquery-easyui-1.7.0/themes/icon.css"><script type="text/javascript" src="/static/jquery-easyui-1.7.0/jquery.min.js"></script><script type="text/javascript" src="/static/jquery-easyui-1.7.0/jquery.easyui.min.js"></script><script></script>
</head>

Spring Boot+JSP项目中静态资源配置相关推荐

  1. Spring boot将项目的静态资源提取到项目外面的文件夹

    不少人发现静态资源每次随着项目打成jar包,都会不断浪费时间,占用磁盘内存,而且随着时间推移,项目内会有很多大的静态资源,比如视频,音乐等等. 于是我忽然想到把静态资源提出来,昨天下午尝试了一下,没头 ...

  2. 如何在spring boot+maven项目中调用支付宝第三方接口(沙箱环境)

    一 首先第一步需要去支付宝的开放平台做一些操作,输入下面的网址:网址 (需要登陆,扫码或者用户密码登陆)登陆网站以后 具体操作如下面视图: 开发者中心->研发服务(沙箱) -----这里需要开通 ...

  3. Spring Boot + JSP 创建web项目

    虽然Spring Boot的官网不推荐使用JSPs,但是本篇文章还是带你实现Spring Boot + JSP创建一个简单的web项目.想要用Spring Boot + Thymeleaf实现web项 ...

  4. 简单介绍基于Spring Boot的项目骨架使用

    前言 从大学开始接触 java 后台开发,到后来了解了更多的编程语言的开发.发现 java 的开发可以说是相较而言很复杂的了,光是 Spring MVC 的配置要是没有经历系统的学习,可能就能劝退一波 ...

  5. 最新Spring Boot实战项目(权限后台管理系统)详解

    Spring Boot实战项目 - 权限后台管理系统 简介 这是一套基于spring boot 2.16.shiro.jwt.redis.swagger2.mybatis .thymeleaf.lay ...

  6. Spring Boot 2.x中如何使用Log4j2记录日志

    前沿技术早知道,弯道超车有希望 积累超车资本,从关注DD开始 上一篇我们介绍了Spring Boot 2.x中默认日志框架Logback的使用.今天继续说说日志,接下来我们要讲是前段时间爆出核弹漏洞的 ...

  7. Spring Boot微服务中Chaos Monkey的应用

    点击蓝色"程序猿DD"关注我哟 有多少人从未在生产环境中遇到系统崩溃或故障?当然,你们每个人迟早都会经历它.如果我们无法避免失败,那么解决方案似乎是将我们的系统维持在永久性故障状态 ...

  8. spring boot 字体文件等静态资源无法获取

    spring boot 字体文件等静态资源无法获取 原因 原因maven打包时会过滤掉一些静态文件 解决办法 在pom.xml文件中配置静态资源过滤,然后再放行静态资源,这样就能让maven识别到那些 ...

  9. 如何在Spring Boot应用程序中使用配置文件

    你好朋友, 在本教程中,我们将学习如何在Spring Boot应用程序中使用配置文件. 我们将在本教程中讨论以下几点: 1.什么是Spring Boot Profile,为什么我们需要分析 2.如何使 ...

最新文章

  1. 张红忠:智慧化时代,如何通吃5G模组、AIoT?
  2. 0x22.搜索 - 深度优先搜索
  3. 009_字符串内建函数
  4. php 安装 phpunit,phpunit的安装
  5. Codeforces Round #348 (VK Cup 2016 Round 2, Div. 2 Edition) D. Little Artem and Dance 模拟
  6. java拦截器(interceptor)
  7. tableView 三级展开 嵌入collocationView
  8. 使用PostSharp在.NET平台上实现AOP(转)
  9. OpenCV从源码安装到Ubuntu16.04
  10. linux创建2g文件,嵌入式 创建一个2G的空文件(Linux命令dd)
  11. 软考高级 真题 2017年下半年 信息系统项目管理师 论文
  12. 计算机系统结构安全检测,计算机软件安全检测法综述
  13. 软件测试狂斩五家大厂的简历长什么样?
  14. 使用搜狗新闻语料库,训练word embeding
  15. 第一章 1.3误差定性分析与避免误差危害
  16. Programing Exercise 4:Neural Networks Learning
  17. omnipeek查询设备发送beacon时同一信道两个beacon发送间隔
  18. 【Android】精通Android UI设计
  19. 如何编辑 删除 修改 pdf文件中的文字
  20. 拓嘉启远:拼多多的奖惩机制有哪些

热门文章

  1. Nginx 入门学习
  2. 通过Mapi写Outlook日历中的约会项目(Recurrence , remaind,重复)
  3. MatlabSimulink开发STM32F4
  4. 服务器机柜位置管理,服务器机柜布局怎样才算合理?
  5. 蓝桥杯 BASIC-3 字母图形
  6. DHTMLX JS框架,日程JS框架 功能强大 收藏!
  7. iOS音频篇:AVPlayer的缓存实现
  8. unordered_map详解
  9. Everything下载安装和使用
  10. 用QT和sqlite做一个小小的进销存(1)