问题描述:
在用springboot+mybatis做myblog后台管理页面时,发现首次跳转页面生成的文件内js、css、图片等资源URL后面被添加上了 ;jsessionid=… 的后缀,导致页面静态资源丢失,访问不到
html文件中
登录成功跳转index页面
index页面代码
去浏览器访问,静态资源全没
看一眼控制台
可以看到被加了个jsessionid,所以访问不到!
不过,再次刷新页面有可以拿到静态资源,路径正常!
翻看Thymeleaf有关源码文件,知道Thymeleaf调用了 HttpServletResponse 的 encodeURL 函数进行URL的重写
解决办法
在Spring Boot中,我们只需要在配置文件中添加一个配置:
server.servlet.session.tracking-modes=COOKIE
如果是yml配置文件,添加下面配置
server:
servlet:
session:
tracking-modes: COOKIE
让Tomcat只能从COOKIE中获取会话信息,这样,当没有Cookie时,URL也就不会被自动添加上 ;jsessionid=… 了。
清理缓存,重新起项目,访问正常!
其他解决方法: