一、叙述

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. JS中闭包的介绍

    闭包的概念 闭包就是能够读取其他函数内部变量的函数. 一.变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域. 变量的作用域无非就是两种:全局变量和局部变量. Javascri ...

  2. CentOS下安装配置MySQL8.0的步骤详解

    下载yum源的安装包 yum localinstall https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm 安装 yu ...

  3. 【测试-测试心得】测试发现BUG后,怎么定位问题?

    一.判断前后端 Safari中可以右键,选择“检查元素”,再选择“网络”同样可以抓取到http请求,如图 怎么区分是前端错误还是后端错误? 1.在开发者工具中,如果console中有报错,则表示前端代 ...

  4. WordPress教程之初识WordPress

    你是否梦想过以极低的成本获得一个漂亮的网站,而无需聘请专业的开发和设计人员,也不必学习任何编程知识,并且网站功能可以无限扩展?对这些问题中的任何一个,如果你的答案是肯定的,那么 WordPress 将 ...

  5. Ng-Matero:基于 Angular Material 搭建的中后台管理框架

    前言 目前市面上关于 Angular Material 的后台框架比较少,大多都是收费主题,而且都不太好用. 很多人都说 Material 是一个面向 C 端的框架,其实在使用其它框架做管理系统的时候 ...

  6. JVM内存结构解析

    月初的时候个人网站到期了,不想再折腾重新建站了,以后还是来第三方博客写文章吧,可以省去很多问题.之前写的文章也不是很多,备份懒得做了,从头开始吧.博文仅仅是用来记录和学习总结,如有错误之处请帮忙指正! ...

  7. 数字IC前后端设计中的时序收敛(三)--Hold违反的修复方法

    本文转自:自己的微信公众号<数字集成电路设计及EDA教程>(二维码见博文底部) 里面主要讲解数字IC前端.后端.DFT.低功耗设计以及验证等相关知识,并且讲解了其中用到的各种EDA工具的教 ...

  8. WebLogic 任意文件上传远程代码执行_CVE-2018-2894漏洞复现

    WebLogic 任意文件上传远程代码执行_CVE-2018-2894漏洞复现 一.漏洞描述 Weblogic管理端未授权的两个页面存在任意上传getshell漏洞,可直接获取权限.Oracle 7月 ...

  9. 嵊州D3T1 山魔 烙饼问题

    嵊州D3T1 山魔 有n 座山,每座山有南北两面. 每一天,一些山的某一面(不一定相同) 会受到山魔的袭击. 但是山魔一天最多只会袭击k座山. 当每座山的每一面都被袭击过后,山魔就会离开. 那么至少要 ...

  10. 移动app商城UI模板(仿淘宝)

    该商城UI模板是仿照手机淘宝,实现了搜索商品-查看商品详情-加入购物车-结算的流程,共7个页面,由于没有数据库,所有页面上的数据都来自tempData.cs及tempPro.cs ,具体页面参考如下 ...