起因:在做一个系统简单的sso单点登录,并没有sso服务,只是两个系统之间互通。当把缓存清空,第一次跳转到另外一个系统一直报错404,再次点击就正常。

原因:看了报错信息,security.web.firewall.RequestRejectedException: The request was rejected because the URL contained a potentially malicious String ";"

经过查资料后发现,url里面还包括了jsessionid,只是不在地址栏显示而已,所以代码中重定向的代码 return "redirect:/" 跳转就404

jsessionid作用:通过在URL后面加上;jsessionid=xxx来传递session id,这样即使Cookie不可用时,也可以保证session的可用性

当一个新的session被创建时,server并不确定客户端是否支持cookies,所以它生成了一个cookie,就是URL中jsessionid的值。当客户端在第二次带着cookie返回时,服务器就知道jsessionid不是必须的,所以就会删掉它。如果客户端没有带着cookie返回,服务器就会继续在url中添加jsessionid参数。

这就解释了,为什么404,以及为什么第一次404,再次点击就正常

解决方案

1.放开安全限制,在springboot application中加入这个

 @Beanpublic HttpFirewall allowUrlSemicolonHttpFirewall() {StrictHttpFirewall firewall = new StrictHttpFirewall();firewall.setAllowSemicolon(true);return firewall;}

问题解决,但是在url路径上,会把jsessionid也显示出来。感觉不是最优解

2.HttpServletResponse

使用 sendRedirect()方法重定向,跳转一切正常,路径也与预想的一样。

java 重定向,第一次404,原因和解决相关推荐

  1. java.util.ConcurrentModificationException异常原因及解决方法

    java.util.ConcurrentModificationException异常原因及解决方法 参考文章: (1)java.util.ConcurrentModificationExceptio ...

  2. java.lang.NullPointerException异常原因及解决

    java.lang.NullPointerException异常原因是因为创建了一个引用类型的变量却没有指向任何对象而又去通过这个引用类型变量加点的形式去访问非静态的方法及属性. 给出三种情况, 第一 ...

  3. java无法检测到_使用JVM管理工具jvisualvm,系统提示无法检测到本地java应用程序的原因和解决办法...

    我使用的JDK版本是1.6.0_37版本,操作系统是windows xp,今天想使用下%JAVA_HOME%/bin/目录下的一些管理工具,结果遇到麻烦了.使用JPS命令,无法列出本地运行的java虚 ...

  4. 【总结】java.lang.StackOverflowError错误原因及解决办法

    目录 背景 分析 原因 官方解释 实际原因 原因1:递归调用次数太多(或者无限调用) 原因2:线程栈默认值太小,不满足实际业务场景 扩展 线程栈的默认值是多少? 如何查看java进程的线程栈大小? 通 ...

  5. java中文乱码的原因及解决方法

    在java开发中都能遇到java中文乱码的情况,怎样才能够恰当地选择汉字编码方式并正确地处理汉字的编码呢?希望通过下面的总结的java中文乱码解决方法对遇到过此类问题的朋友有所帮助. 首先,要想解决j ...

  6. java.lang.IllegalStateException异常原因和解决

    1.出现该异常场景 Iterator.remove() 迭代删除 引发 2.问题定位分析 1. Iterator.remove() 迭代删除 引发 重复 remove 导致出现该异常 场景示例 @Te ...

  7. 关于java中空指针异常的原因及解决方法

    java中空指针异常,是一种很常见很普通的错误,初学的时候可能会感觉很难解决,代码写多了就好啦,下面总结一些java中空指针异常的一些内容. 首先,在开始之前,还是想说,对于一门编程语言,你要了解它的 ...

  8. 网页报错404原因及解决方法

    网页报错404:即找不到该资源 未开启服务 若使用的是tomcat服务器,先检查服务器有没有正常启动,网络连接是否正常. 服务器未正确部署 使用开发工具为idea,检查tomcat在idea是否部署正 ...

  9. java.lang.NullPointerException出现原因及解决办法

    在java中几乎任何使用到.的地方都有可能会报这个错误. 我自己遇到的问题是,没有引入spring配置文件导致@Autowired注解失效没有完成自动装配,而导致的虽然声明了对象但是值为null. 当 ...

  10. 23、Java——常见异常的原因和解决办法

    ✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进.

最新文章

  1. R语言使用ggplot2包使用geom_dotplot函数绘制分组点图(添加均值、中位数)实战(dot plot)
  2. 《STL源码剖析》学习-- 1.9-- 可能令你困惑的C++语法1
  3. 【Paper】Network Dissection: Quantifying Interpretability of Deep Visual Representations跑源码遇到的问题
  4. sqlserver查询当月的每一天_SQL生成一年每一天的时间列表的几种方法
  5. 11-JSP开发模型
  6. vue element table
  7. 吴恩达斯坦福实验室发布MRNet数据集,包含1千多张标注膝关节核磁共振成像
  8. 从零开始学习python编程-新书推荐《Python3.7从零开始学》来了
  9. labimage 怎样旋转图片_西安匠艺工坊丨别克gl8内饰改装床车图片,精湛工艺,空间力量...
  10. ENVI 监督分类Max stdev from Mean 参数IDL中的设置
  11. H - Color the ball(树状数组)(区间更新)(求单点)(线段树)
  12. Java线程池如何体现自己的用途
  13. word文档字间距怎么调?拯救死气沉沉的文字仅需这样…
  14. Python3,4行代码给图片加美颜,拍照再也不需要开美颜滤镜了。
  15. 2019-4给学员试讲内容分享
  16. 奇奇邮件群发助手V2.0使用说明
  17. u盘上传百度网盘照片显示服务器错误,百度云上传文件失败怎么办-百度云上传文件失败的解决方法 - 河东软件园...
  18. CTO 说公司的 ES 性能不够好、集群不够稳定!直到我用了这些调优技巧后。。。...
  19. Tesseract-OCR引擎的安装
  20. 图片存放在服务器还是数据库里的解释?

热门文章

  1. 小程序实现授权完整流程
  2. 前端常见的性能优化总结
  3. 库克:iPhone X只是一天一杯咖啡钱
  4. 电脑修复后,一直进行磁盘检查,导致启动很慢(已解决)
  5. 至尊影视管理系统源码/自带首涂四套影视模板
  6. 001_python变量,if,while
  7. 曾经的王者PHP现如今PHP8到底是否能够一改PHP“颓势”?
  8. java中的toarray_java中的toArray()
  9. 【问题记录】| xfce桌面的窗口的标题栏与边框缺失
  10. 如何理解Adam算法(Adaptive moment estimation)?