一、叙述

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. PowerDesigner16.5 有用地址

    http://blog.csdn.net/keenweiwei/article/details/32720427

  2. ORM的查询

    基于对象的跨表查询(sql里的子查询)(重点) 一对多查询: Book(有外键)--------------->Publish     属于正向查询  按book表里的字段book.publis ...

  3. c++ 逆序对

    c++ 求逆序对 例如数组(3,1,4,5,2)的逆序对有(3,1)(3,2)(4,2)(5,2)共4个 逆序对就是左边的元素比右边的大,那么左边的元素和右边的元素就能产生逆序对 代码跟归并排序差不多 ...

  4. 『开发技术』Docker开发教程(一)安装与测试(Windows 家庭版)

    0.前言 针对其他系统和版本,Docker都很容易安装,可以参考官方教程:https://docs.docker.com/docker-hub/ 由于Windows10家庭版无法安装docker,因此 ...

  5. 哈工大计算机网络Week2-网络应用数据交换

    目录 网络应用数据交换 P2P应用:原理与文件分发 纯P2P架构 文件分发:客户机/服务器 vs. P2P CS 为什么是这样的?不应该传送和发出难道是并行的??? P2P P2P文件分发典型例子:B ...

  6. ~~Py2&Py3~~

    进击のpython python2 整型 int -- long(长整型) /获取的是整数 python3 整型 int /获取的是浮点数(小数) python2 print(range(1,10)) ...

  7. mplayer+ffmpeg 组合截图

    mplayer截图的优点:对于一个时长很长的视频,可以任意指定一个时间点截图,mplayer会直接跳到这个时间点开始解码截图: 缺点:由于是直接跳到指定的时间点,也就是直接跳过了之前的帧,这样解码出来 ...

  8. 如何在vue中监听scroll,从而实现滑动加载更多

    首先需要明确3个定义: 文档高度:整个页面的高度 可视窗口高度:你看到的浏览器可视屏幕高度 滚动条滚动高度: 滚动条下滑过的高度 当 文档高度 = 可视窗口高度 + 滚动条高度  时,滚动条正好到底. ...

  9. markdown插入表格语法

    markdown插入表格语法 举例 如表格标题为,姓名,班级,成绩 标题内的内容为,yang,a班,100 我们要在markdow文件中插入表格 如 姓名|班级|成绩 -|-|- yang|a班|10 ...

  10. C语言入门9-1-分类函数

    分类函数 ASCII字符可以分为英文字母.数字.控制字符.空白字符.大小写字母以及标点符号,分类是指对字符进行属性判定,判断字符属于哪些范畴,这些属性的判定在程序中非常常见,尤其是通信协议的字符处理部 ...