一、叙述

spring boot 由于是内置的tomcat ,因此其在独立运行的时候,是不需要单独安装 tomcat,这使其前端文件(CSS、JS、html)等放置的位置与war中的不同。

二、常见配置

要求:服务器上已经安装过 jdk

将 静态文件放置到 spring boot 工程下的 src/main/resources/static目录下,html 等文件放置到 src/main/resources/templates 下,运行 main函数。目录结构如下:

其中 含有main 的函数为:TradingSystemApplication.java.  此时运行该函数,服务启动,打开浏览访问,可正常访问网页。

在Springboot中默认的静态资源路径有:classpath:/META-INF/resources/classpath:/resources/classpath:/static/classpath:/public/,经过测试发现 该classpath仅指spring boot 包中的 classes目录:

spring boot 完整 jar 中目录结构如下:

三、特殊要求

(1) 能够访问与 jar 包同级的静态文件

实现该种功能,主要有以下几种方式:

  • 修改application.properties文件

配置如下:

spring.mvc.static-path-pattern=/**
#file:css/ 表示包含該jar包的下面的目錄
spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,\
file:css/,classpath:/static/,classpath:/public/

file:css/ 在工程中运行时是指:<工程根目录>/css/;

独立 jar 中运行的时候是指:<包含jar包目录>/css/;

   此时 spring boot 会在css 目录下进行匹配,如访问的静态文件为:http://localhost:8080/context/css/hello.js  ,那么  file:css/ 具体目录下就应该有 css/hello.js 文件,目录结构就是:.../css/css/hello.js。

  • 启动 jar 包时使用 -Dloader.path 命令指定

独立 jar 包运行的时候,目录结构如下:

输入的命令如下:

java -Dloader.path=css -jar 2.jar

正常启动之后,打开浏览器进行访问,网页显示正常;

   此时 spring boot 会在css 目录下进行匹配,如访问的静态文件为:http://localhost:8080/context/css/hello.js  ,那么   具体目录下就应该有 css/hello.js 文件,目录结构就是:.../css/css/hello.js。

(2) 能够访问系统中某一具体目录下的静态文件

修改application.properties文件

配置内容如下:

#配置静态文件访问地址
casslocation=E:/Program Files/develop/Git/repository/TradingSystem/test spring.mvc.static-path-pattern=/** spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,\
classpath:/static/,classpath:/public/,file:${casslocation}

将css及其下的目录放入 E:/Program Files/develop/Git/repository/TradingSystem/test 目录下,运行 含有main 函数的类,服务启动,打开浏览,网页正常显示。

  此时 spring boot 会在test 目录下进行匹配,如访问的静态文件为:http://localhost:8080/context/css/hello.js  ,那么  具体目录下就应该有 css/hello.js 文件,目录结构就是: ../test/css/hello.js

spring boot 学习笔记(一)之前端文件配置的更多相关文章

  1. spring boot 学习笔记(三)之 配置

    一:概述 在Spring boot 中根据业务需求,我们往往会在不同地方配置我们所需的key-value 配置项,配置文件存在不同的地方的场景如下: (1) 默认存在 application.prop ...

  2. Spring Boot 学习笔记(六) 整合 RESTful 参数传递

    Spring Boot 学习笔记 源码地址 Spring Boot 学习笔记(一) hello world Spring Boot 学习笔记(二) 整合 log4j2 Spring Boot 学习笔记 ...

  3. Spring Boot学习笔记2——基本使用之最佳实践[z]

    前言 在上一篇文章Spring Boot 学习笔记1——初体验之3分钟启动你的Web应用已经对Spring Boot的基本体系与基本使用进行了学习,本文主要目的是更加进一步的来说明对于Spring B ...

  4. spring boot 学习笔记(一)

    学习链接:http://www.cnblogs.com/ityouknow/category/914493.html 定义 spring boot 是由pivotal 团队提供的权限框架,设计目的是用 ...

  5. spring boot学习笔记2

    开场知识: spring 容器注入bean,时容器初始化的一些接口以及接口调用的时间先后顺序: 1)BeanFactoryPostProcessor 容器初始化的回调方法 * BeanFactoryP ...

  6. spring boot学习笔记(一)

    (翻译看个人意愿) 官方介绍: Spring Boot makes it easy to create stand-alone, production-grade Spring based Appli ...

  7. Spring Boot 学习笔记1——初体验之3分钟启动你的Web应用[z]

    前言 早在去年就简单的使用了一下Spring Boot,当时就被其便捷的功能所震惊.但是那是也没有深入的研究,随着其在业界被应用的越来越广泛,因此决定好好地深入学习一下,将自己的学习心得在此记录,本文 ...

  8. Spring Boot 学习笔记1---初体验之3分钟启动你的Web应用

    前言 早在去年就简单的使用了一下Spring Boot,当时就被其便捷的功能所震惊.但是那是也没有深入的研究,随着其在业界被应用的越来越广泛,因此决定好好地深入学习一下,将自己的学习心得在此记录,本文 ...

  9. Spring Boot 学习笔记--整合Thymeleaf

    1.新建Spring Boot项目 添加spring-boot-starter-thymeleaf依赖 <dependency> <groupId>org.springfram ...

随机推荐

  1. 【设计模式】行为型11解释器模式(Interpreter Pattern)

      解释器模式(Interpreter Pattern) 解释器模式应用场景比较小,也没有固定的DEMO,中心思想就是自定义解释器用来解释固定的对象. 定义:给定一个语言,定义它的文法表示,并定义一个 ...

  2. Django生成PDF显示在网页上以及解决中文显示乱码的问题

    项目地址:https://github.com/PythonerKK/django-generate-pdf/tree/master 这个demo实现了通过用户输入自己的个人信息生成一份简历pdf,来 ...

  3. 使用jinja2模板引擎生成html文件

    使用jinja2模板引擎生成html文件 jinja2是纯Python的模板引擎,是仿照Django模板的Python模板语言. 它速度快,被广泛使用,提供了可选的沙箱模板执行环境保证安全. 使用pi ...

  4. kuberbetes基础概念

    部署了一大堆,来了解一下K8S一些基本的概念. 1.Node Node作为集群中的工作节点,运行真正的应用程序,在Node上Kubernetes管理的最小运行单元是Pod.Node上运行着Kubern ...

  5. python3下re模块的使用

    **explain:**python3中的re库是一个正则匹配的函数库,里面包含了各种功能的正则函数,下面,我们一起学习下其中的几个常用函数 * **match()方法**: 从主串的起始位置开始匹配 ...

  6. leadcode的Hot100系列--17. 电话号码的字母组合--回溯的另一种想法的应用

    提交leetcode的时候遇到了问题,一直说访问越界,但仔仔细细检查n多遍,就是检查不出来. 因为我用到了count全局变量,自加一来表明当前数组访问的位置, 后来突然想到,是不是在leetcode在 ...

  7. 安装Win10,ERROR_0x8007025D问题解决

    Windows10安装的时候,出现ERROR CODE:0x8007025D 大概提示为:windows 无法安装所需的文件.请确保安装所需的所有文件可用,并重新启动安装. 本人在出现这个问题的原因, ...

  8. C#中的委托和事件(上篇)

    每一个初学C#的程序猿,在刚刚碰到委托和事件的概念时,估计都是望而却步,茫然摸不到头脑的.百度一搜,关于概念介绍的文章大把大把的,当然也不乏深入浅出的好文章.可看完这些文章,大多数新手,估计也只是信心 ...

  9. 你必须了解的java内存管理机制(四)-垃圾回收

    本文在个人技术博客不同步发布,详情可用力戳 亦可扫描屏幕右侧二维码关注个人公众号,公众号内有个人联系方式,等你来撩... 相关链接(注:文章讲解JVM以Hotspot虚拟机为例,jdk版本为1.8) ...

  10. Everything-1.4.1.917 绿色版

    Everything是一款搜索软件,可以瞬间搜索到你需要的文件.如果你用过Windows自带的搜索工具.Total Commander的搜索.Google 桌面搜索或百度硬盘搜索,都因为速度或其他原因 ...