spring boot打包后在tomcat无法访问静态资源问题

我的spring boot项目中前端页面的资源引用

我的静态文件夹是


我的application.yml中资源路径配置了


同时我在WebMvcConfig中配置了addResourceHandlers


我在idea内部运行项目时,资源文件可以正常加载,然后我将war包放入tomcat的webapp目录下


运行tomcat后,输入localhost:8080/microCourse来访问页面但是此时


这里的解决办法是将前端页面中href=“/static/...”的那个/去掉,如下边这样

<link rel="stylesheet" href="static/css/video.css" />

在这个过程中还遇到一个问题就是ajax异步上传的时候,我的ajax的url



我的controller中的RequestMapping为


如果按照之前的只输入“/microCourse/uploadFile"的话,因为tomcat访问需要加上工程名,所以这里如果想要访问到/microCourse/uploadFile即要在这个url中保留这个/microCourse/uploadFile也要在controler中添加/uploadFile

这样当使用tomcat访问项目时,首先输入ip:8080/microCourse【项目名】进入首页

这时ajax因为url为/microCourse/uploadFile,即为ip:8080/microCourse/uploadFile,此时它属于microCourse这个项目中,它可以访问microCourse的后台controller,

但是此时后台真正判断的是/uploadFile这个url,因为它认为/microCourse为工程名,不起作用,所以需要value包含上面两个

原文地址:https://www.cnblogs.com/jpfss/p/9723419.html