关于解决SpringBoot中使用redirect重定向后,页面跳转后ulr地址后面出现jsessionid=xxxx的问题

参考链接:https://blog.csdn.net/zshake/article/details/37658147

在controller中,做了一个简单的登录判断,判断完成后使用redirect重定向到另一个页面
原本代码如下:

    @PostMapping("/login")public String main(String userName, String password, HttpSession session, Model model){if ("admin".equals(userName) && "admin".equals(password)){//把登录成功的用户保存起来session.setAttribute("username",userName);session.setAttribute("password",password);//登录成功重定向到main.htmlreturn "redirect:main.html";}else {model.addAttribute("msg","账号密码错误");return  "redirect:login";}}

但是这样重定向的话,每次跳转到main.html页面时,url后都会跟一串 jsessionid=DE019BAFC91CB3A36A457EAF6AE2A5CE。
如下图:

这样复制这个url去ie中就不需要再登录,相对来说不合理。
于是在网上找资料研究怎么回事。
首先找到一个解决方法为在application.yml中添加配置,配置代码如下

  session:tracking-modes: cookiecookie:http-only: true

如图

但是在我这里没有起到作用

然后又找到一个解决方法是为启动类继承 SpringBootServletInitializer 类,然后重写 onStartup 方法
代码如下:

public class BigScreenApplication extends SpringBootServletInitializer {//去除url中含有的JSESSIONID@Overridepublic void onStartup(ServletContext servletContext) throws ServletException {super.onStartup(servletContext);servletContext.setSessionTrackingModes(Collections.singleton(SessionTrackingMode.COOKIE));SessionCookieConfig sessionCookieConfig = servletContext.getSessionCookieConfig();sessionCookieConfig.setHttpOnly(true);}public static void main(String[] args) {SpringApplication.run(BigScreenApplication.class, args);}
}

如下图

但是在我这里还是没有起到作用

最后找到一个起作用的解决方法。
就是不通过Spring MVC的redirect做重定向,自己直接调用**response.sendRedirect()**方法来实现
代码如下:

    @PostMapping("/login")public String main(String userName, String password, HttpSession session, Model model, HttpServletResponse response) throws IOException {if ("admin".equals(userName) && "admin".equals(password)){//把登录成功的用户保存起来session.setAttribute("username",userName);session.setAttribute("password",password);//登录成功重定向到main.htmlresponse.sendRedirect("/main.html");return null;}else {model.addAttribute("msg","账号密码错误");return  "redirect:login";}}

如图:

如图所示,成功解决

.
.
.
.
.
感谢阅读,有不足之处欢迎指出,共同探讨

关于解决SpringBoot中使用redirect重定向后,页面跳转后ulr地址后面出现jsessionid=xxxxxxx的问题相关推荐

  1. 记一次定位解决SpringBoot中内嵌Tomcat的Bug问题

    你知道的越多,不知道的就越多,业余的像一棵小草! 你来,我们一起精进!你不来,我和你的竞争对手一起精进! 编辑:业余草 segmentfault.com/a/1190000038760707 推荐:h ...

  2. SpringBoot中配置为开发模式,代码修改后不用重新运行

    场景 SpringBoot中配置为开发模式,修改代码后不用重新运行. 实现 打开pom.xml,添加依赖 <!-- 添加如下依赖,配置为开发模式,代码做了修改,不用重新运行--><! ...

  3. 解决Springboot中SLF4J和Log4j冲突问题

    解决Springboot中SLF4J和Log4j冲突问题 错误信息: SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found ...

  4. vuex-along解决vuex中存储的数据在页面刷新之后失去的问题

    vuex-along解决vuex中存储的数据在页面刷新之后失去的问题 参考文章: (1)vuex-along解决vuex中存储的数据在页面刷新之后失去的问题 (2)https://www.cnblog ...

  5. 微信小程序页面跳转后清除定时器

    笔记 前言:因为做项目,有些数据是实时的,所以要用定时器定时调用接口请求.最开始我加上定时请求,然后跳转的时候,接口请求还是一直执行.但是我想要的是页面跳转后,就清除定时器了.期间有一些小问题的出现, ...

  6. vue 页面不置顶问题(页面内操作、页面跳转后) - 集合篇

    文章目录 vue 页面内切换dom,页面跳转后 都不置顶? 一.页面内操作: 1.1 代码如下: 二.页面之间跳转: 2.1 代码截图 · 说明: 2.2 增加代码 · 示下: 三.拓展 · (直接置 ...

  7. vue跳转页面之后返回_vue页面跳转后返回原页面初始位置方法

    vue页面跳转到新页面之后,再由新页面返回到原页面时候若想返回调出原页面的初始位置,怎么来解决这个问题呢?首先我们应该在跳出页面时候记录下跳出的scrollY,返回原页面的时候在设置返回位置为记录下的 ...

  8. Ajax请求成功后页面跳转

    文章目录 Ajax实现页面局部刷新 Ajax请求成功后页面跳转 Ajax实现页面局部刷新 这里通过点击一个按钮,然后下面产生一段文字,而整个页面不用刷新 <!DOCTYPE html> & ...

  9. 微信小程序页面跳转后定时器如何关闭

    微信小程序页面跳转后定时器如何关闭 1.在页面中定义,定时器形参,并在跳转到其它页面后,在隐藏和未加载中删除定时器 Page({data: {timer:'',//定义定时器形参,为空字符在这里插入代 ...

最新文章

  1. jQuery源码分析系列(37) : Ajax 总结
  2. JavaScript基础学习之强制类转换(二)
  3. Android应用【世界杯知识答题】的界面设计经验
  4. matlab怎么设clim,Python Matplotlib.pyplot.clim()用法及代码示例
  5. 多出口冗余网络设计方案
  6. 华为出售荣耀为不实消息,赵明曾在内部否认;迅雷前CEO陈磊涉嫌职务侵占罪被调查 ;Python 3.9发布|极客头条...
  7. Spring MVC 入门指南(二):@RequestMapping用法详解
  8. C++ 事件驱动型银行排队模拟
  9. stm32产生100k时钟信号_stm32定时器时钟源时钟选择
  10. 算法:两种对拼音进行智能切分的方法
  11. uint8_t / uint16_t / uint32_t /uint64_t 这些数据类型是什么?
  12. PWA系列 - Web Push 技术
  13. 2019最新个税计算_python
  14. 三个div怎么分别靠左、居中、靠右显示
  15. The Truman Show
  16. 易语言 热键DLL封装
  17. 科学论文的写作内容与要求
  18. 强大的Winform Chart图表控件使用说明
  19. android 计步器 开发,Android计步器开发
  20. 搭建短域/短链接跳转平台

热门文章

  1. Python连接数据库pyodbc
  2. 统计学|线性回归模型总结
  3. 为什么使用指针变量时一定要申请空间?
  4. 望帝春心托杜鹃 中望帝的由来~
  5. 数据结构与算法JAVA语言描述第六章部分课后习题参考答案
  6. 什么是shell?linux常用的shell有哪些
  7. HTML标记【超级链接的使用】!
  8. QQ新中国象棋棋盘基址--寻找过程
  9. js方法ajax return,AJAX_PJBLOG中用到的ajaxjs.几个简单的函数,function $(id) { return document.get - phpStudy...
  10. 网络连接状态断开服务器无响应,已断开(服务器无响应),路由器连不上网什么原因...