springboot 项目中css js 等静态资源无法访问的问题
问题场景
今天在开发一个springboot 项目的时候突然发现 css js 等静态资源竟然都报404找不到,折腾了好久终于把问题都解决了,决定写篇博客,纪录总结一下。给同样踩坑的同学参考一下,同时自己也免得以后忘记了又要重新花时间折腾。
- 项目结构如下:

templates 文件目录下的html,引用了static 目录下的css js ,访问的时候报404。
- 引用方式如下
<link rel="stylesheet" href="/layui/css/layui.css" media="all">
<script type="text/javascript" src="/layui/layui.js"></script>
问题分析
此种写法,网页渲染出来的样子是这样的:
<link rel="stylesheet" href="/layui/css/layui.css" media="all">
<script type="text/javascript" src="/layui/layui.js"></script>

http://localhost:8090/layui/css/layui.css
http://localhost:8090/layui/layui.js
- 由以上的链接我们可以看出,访问路径中缺少了 项目的 contextPath ,我当时也是由于没有仔细看这个访问链接导致找错了方向一直以为是其它是其它的问题,白白浪费了好长的时间。
server:
port: 8090
servlet:
context-path: /giddy
其实也是对相对路径和绝对路径的理解不够才造成了这个问题,网上查到一些相关资料。
HTML使用相对路径获取各级目录下文件方式详解

- 什么是根目录?
根目录是指逻辑驱动器的最上一级目录,本地根目录例如C盘、D盘等;
网站根目录指的是一个服务器上同时放置多个站点使用,或者一个大规模站点需要放置在几个服务器上。
根目录用“/”表示,例如D盘下images文件夹里名称为“aaa.jpg”文件,代码为:/images/aaa.jpg。
问题解决
<link rel="stylesheet" href="../layui/css/layui.css" media="all">
<script type="text/javascript" src="../layui/layui.js"></script>
链接正常了,访问成功。
http://localhost:8090/giddy/layui/css/layui.css
springboot 项目中css js 等静态资源无法访问的问题的更多相关文章
- Springboot项目读取resource下的静态资源方法
如果按相对路径直接读会定位到target下,因为springboot打包后读到这里 如果做单元测试的话是找不到文件的 File jsonFile = ResourceUtils.getFile(&qu ...
- springboot配置spring security 静态资源不能访问
在springboot整合spring security 过程中曾遇到下面问题:(spring boot 2.0以上版本 spring security 5.x (spring secur ...
- SpringMVC -- 梗概--源码--贰--静态资源的访问问题
配置:<mvc:default-servlet-handler/> 1>静态资源:除了Servlet.Controller之外的资源,如:js,css,png,html等 2> ...
- springboot项目中js、css静态文件路径访问
springboot静态文件访问的问题,相信大家也有遇到这个问题,如下图项目结构. 项目结构如上所示,静态页面引入js.css如下所示. 大家肯定都是这样写的,但是运行的话就是出不来效果,图片也不显示 ...
- 解决Tomcat无法加载css和js等静态资源文件
解决思路有两个 一是,你使用了Apache服务器,html不交给Tomcat处理,所以你找不到Html等静态资源,所以你先停掉阿帕奇,然后只用Tomcat猫试试. 二是,像我一样,使用了Jetty开发 ...
- SpringMVC 部署项目静态资源文件访问问题
问题:采用SpringMVC 部署项目后程序加载或用浏览器访问时出现类似的警告,2011-01-19 10:52:51,646 WARN [org.springframework.web.servle ...
- 使用Node.js搭建静态资源服务器
对于Node.js新手,搭建一个静态资源服务器是个不错的锻炼,从最简单的返回文件或错误开始,渐进增强,还可以逐步加深对http的理解.那就开始吧,让我们的双手沾满网络请求! Note: 当然在项目中如 ...
- spring项目加载不出来静态资源
方法1: 拦截器中增加针对静态资源不进行过滤(涉及spring-mvc.xml) <!-- 添加注解驱动 --> <mvc:annotation-driven/> <!- ...
- Springboot项目中 前端展示本地图片
Springboot项目中 前端展示本地图片 本文使用的是Springboot官方推荐的thymeleaf(一种页面模板技术) 首先在pom文件加依赖 <dependency> <g ...
随机推荐
- gtk编译之makefile的写法(之一)
在学习c语言GUI编程时想必大家都会遇见这样一个问题买就是每次编译都要敲`pkg-config --cflags --libs gtk+-2.0`这个烦恼吧 这是我们可以编写一个makefile文件这 ...
- c# DataGirdView动态刷新
using MySql.Data.MySqlClient;using System; using System.Data; using System.Threading; using System.W ...
- toastr通知插件的使用
/显示一个警告,没有标题 toastr.warning('My name is Inigo Montoya. You killed my father, prepare to die!') 显示一个成 ...
- python函数之有参装饰器
一.为什么要有有参装饰器? 来看之前的无参装饰器 # 无参装饰器 def outter(func): def wrapper(*args,**kwargs): start = time.time() ...
- RabbitMQ 入门 (Go) - 3. 模拟传感器,生成数据并发布
现在,我们需要模拟传感器,生成数据,并发布到 RabbitMQ. 建立传感器项目 在 GOPATH src 下建立文件夹 sensors,使用 go mod init 初始化,并创建 main.go. ...
- Dcoker-搭建日志监控系统
项目中常用集中日志收集工具 Logstash Logstash是一个开源数据收集引擎,具有实时管道功能.Logstash可以动态地将来自不同数据源的数据统一起来,并将数据标准化到你所选择的目的地. 优 ...
- 如何写好一个 Spring 组件
背景 Spring 框架提供了许多接口,可以使用这些接口来定制化 bean ,而非简单的 getter/setter 或者构造器注入.细翻 Spring Cloud Netflix.Spring Cl ...
- 【深度学习】PyTorch CUDA环境配置及安装
Pytorch版本介绍 torch:1.6 CUDA:10.2 cuDNN:8.1.0 安装 NVIDIA 显卡驱动程序 一般 电脑出厂/装完系统 会自动安装显卡驱动 如果有 可直接进行下一步 下载链 ...
- Go-27-import导包
import 导入包 包的搜索顺序: import ( "fmt" "net/http" "mypkg" ) 编译器会根据上面指定的相对路径 ...
- 6. Mybatis resultMap
resultMap 元素是MyBatis中最重要最强大的元素.它就是让你远离90%的需要从结果集中取出数据的JDBC代码的那东西,而且在一些情形下允许你做一些JDBC不支持的事情.事实上,编写相似于对 ...