SpringBoot页面跳转访问css、js等静态资源引用无效解决

一、页面跳转

具体controller如下:
SpringBoot页面跳转访问css、js等静态资源引用无效解决

二、情况说明

SpringBoot整合thymeleaf实现的页面跳转,该页面引用外部css、js等静态资源。
这是基本的界面:
SpringBoot页面跳转访问css、js等静态资源引用无效解决
然后登陆失败会跳转回原来这个登录页面并显示错误信息,但却成了这样:
SpringBoot页面跳转访问css、js等静态资源引用无效解决
原先的静态资源css、img都无法显示

三、问题解决方案

首先我们的页面是放在templates包下,而静态资源则放在static包下:
SpringBoot页面跳转访问css、js等静态资源引用无效解决
这时我查看了要跳转的index.html页面:
SpringBoot页面跳转访问css、js等静态资源引用无效解决
原以为一开始登录的时候能访问到静态资源,说明路径没有问题,但是在试着**在前面加上“/”**后竟然跳转也能访问静态资源了:
SpringBoot页面跳转访问css、js等静态资源引用无效解决
SpringBoot页面跳转访问css、js等静态资源引用无效解决

四、总结

可能跳转的时候因为是转发而不是重定向,跳到index访问静态资源时走的是相对路径,即前面加了我@requestmapping(“/user/login”)下的路径——“/user/login/css/…”
所以资源路径使用绝对路径即可,以 “/” 打头即为绝对路径,这样的话路径就不会随着浏览器地址栏中的路径乱来了!!!