一、叙述

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. Python连载20-偏函数&zip函数&enumerate函数

    一. 偏函数 二. #先举个例子 #把字符串转换为十进制数字 int(') #help(int),int函数中有一个参数base代表把它转换某个进制的数字 #把八进制的字符串转换为十进制 eight ...

  2. 关于C51 keil使用中.c文件的链接心得

    这个问题一直烦了我很久,使用C51 keil进行.c文件链接的时候,老是报错诸如下面的信息: *** ERROR L104: MULTIPLE PUBLIC DEFINITIONS SYMBOL: a ...

  3. cat more less 命令混用

    在Linux系统中有三种命令可以用来查阅全部的文件,分别是cat.more和less命令.它们查阅文件的使用方法也比较简单都是 命令 文件名 ,但是三者又有着区别. 1.cat命令可以一次显示整个文件 ...

  4. 浅谈Linq查询

    一.Var关键字 在学习Linq查询之前,我们先来学习var关键字的用法,看看微软官方的定义:从Visual C#3.0开始,在方法范围声明的变量可以具有隐式“类型” var.隐式类型的局部变量是强类 ...

  5. Visual Studio中Es6的开发环境搭建

    1.打开终端,输入初始化代码.输入代码之后会在目录中出现package.json,可以在红色下划线上写上作者名和描述(不写也可以) npm init -y    2.安装Babel转换器 npm in ...

  6. 基于 MySQL Binlog 的 Elasticsearch 数据同步实践 原

    一.背景 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品.订单等数据的多维度检索. 使用 Elasticsearch 存储业务数据可以 ...

  7. 神奇的Invsqrt函数

    float InvSqrt(float x) { float xhalf = 0.5f*x; int i = *(int*)&x; // get bits for floating VALUE ...

  8. django项目中遇到要实现定时任务

    django项目中遇到要实现定时任务,所以选用了简单易用的django-crontab插件. 1.安装 django-crontab pip install django-crontab 2.定时要执 ...

  9. SpringBoot项目构建成jar运行后,如何正确读取resource下的文件

    SpringBoot项目构建成jar运行后,如何正确读取resource下的文件 不管你使用的是SpringBoot 1.x还是SpringBoot2.x,在开Dev环境中使用eclipse.IEAD ...

  10. Jenkins+SVN+Maven+shell 自动化部署实践

      JAVA环境中利用Jenkins+svn+maven进行自动化部署实践   一. 前言2 1.介绍jenkins2 1.本地项目打包2 2.通过secureCRT工具,手动传输到服务器2 3.然后 ...