公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:xttblog2,发送下载链接帮助你免费下载!
本博客日IP超过2000,PV 3000 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog2,之前的微信号好友位已满,备注:返现
受密码保护的文章请关注“业余草”公众号,回复关键字“0”获得密码
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
腾讯云】1核2G5M轻量应用服务器50元首年,高性价比,助您轻松上云
本博客日IP超过2000,PV 3000 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog2,之前的微信号好友位已满,备注:返现
受密码保护的文章请关注“业余草”公众号,回复关键字“0”获得密码
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
腾讯云】1核2G5M轻量应用服务器50元首年,高性价比,助您轻松上云
出大 Bug 了,本来公司年会的抽奖程序已被同事写好了,人事临危任命同事再改一下程序,内置特等奖是一位高管。
同事已开始也是拒绝的,奈何敌不住人事的诱惑。最终答应了更改程序,结果年会现场抽特等奖翻车了。
这事的结果先暂且不表。我发到群里后,群里的一位网友以为我在闲着,于是给我丢过来一个问题。SpringBoot 中如何把浏览器 url 中的 jsessionid 去掉。
这个问题很简单,分两种情况。
如果只是单纯的 SpringBoot,只需在启动类中继承 SpringBootServletInitializer,然后重写 onStartup 方法。
public void onStartup(ServletContext servletContext) throws ServletException {
super.onStartup(servletContext);
// This will set to use COOKIE only
servletContext.setSessionTrackingModes(
Collections.singleton(SessionTrackingMode.COOKIE)
);
// This will prevent any JS on the page from accessing the
// cookie - it will only be used/accessed by the HTTP transport
// mechanism in use
SessionCookieConfig sessionCookieConfig =
servletContext.getSessionCookieConfig();
sessionCookieConfig.setHttpOnly(true);
}
或者是在 yml 文件中,做以下配置:
server:
session:
# 会话sessionid存在cookie中,方便追踪,不设置会携带在url后面
tracking-modes: cookie
然后重启项目就可以了。
但如果你的项目集成了 Spring Security,那就需要重写 WebSecurityConfigurerAdapter 的 configure 方法。
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.NEVER)
.and()
.csrf().disable();
}
上面的三种做法都可以解决 url 中带 JSESSIONID 的问题。希望能够帮助到大家!
最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加作者微信号:xttblog2。备注:“1”,添加博主微信拉你进微信群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作也可添加作者微信进行联系!