码迷,mamicode.com
首页 > 编程语言 > 详细

spring boot项目进行war部署,对于静态资源无法访问的问题

时间:2019-04-20 15:38:31      阅读:389      评论:0      收藏:0      [点我收藏+]

标签:切换   直接   .com   无法   tab   com   比较   页面   模板   

记录下jar和war部署方式随意切换部署的一个解决方案,对于如何修改为自定义的目录,这边未说明。

 

在spring boot开发时一般是直接application运行的(与jar部署一样),因此使用jar部署的时候可以直接运行,静态资源都可以访问;

如果我们需要进行war方式部署呢,静态资源有可能就方法不到,因为war方式部署的访问方式和jar的不同需要带上项目名称:

例如:

  jar部署:http://localhost:8080/index.html

  war部署:http://localhost:8080/项目名/index.html

因此index.html中加载的css等就需要加上项目名

例如:

  jar部署:<link href="/css/style.css" rel="stylesheet">

  war部署:<link href="/项目名/css/style.css" rel="stylesheet">

根据以上的规则如果在项目部署的时候能在jar和war能够相互切换使用的话,比较好的一种解决方法是在页面开发的时候加上<base>标签;

此处已thymeleaf模板的为例,在html的head中加上<base th:href="@{/}">

然后引用的js或css的路劲不要写绝对路径就可以了(thymeleaf中一般会将头部和底部单独提取出来,因此只要在公共的头部加入就可以了)

技术图片

 

 

spring boot项目进行war部署,对于静态资源无法访问的问题

标签:切换   直接   .com   无法   tab   com   比较   页面   模板   

原文地址:https://www.cnblogs.com/qchen/p/10741096.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!