栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

解决SpringBoot集成Thymeleaf时,首次访问静态资源路径拼接jsessionid问题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

解决SpringBoot集成Thymeleaf时,首次访问静态资源路径拼接jsessionid问题

问题描述:

在用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=… 了。

清理缓存,重新起项目,访问正常!

其他解决方法:

参考链接

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/673070.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号