java url后面带sessionid_Spring Mvc boot解决静态url带jsessionid问题

1.jsessionid是什么?

Jsessionid只是tomcat的对sessionid的叫法,其实就是sessionid;在其它的容器也许就不叫jsessionid了。

2.那么有什么问题?

首先这是一个保险措施 因为Session默认是需要Cookie支持的,但有些客户浏览器是关闭Cookie的,所以在这个时候就需要在URL中指定服务器上的session标识,也就是EDE802AB96CD1E0CA2AFB3830D18FB10,每当用户第一次访问页面的时候,后端获取的地址是包含 jsessionid参数,这样拼接 静态资源或者A标签或Form的地址的时候,链接就变成了:

http://localhost:8080?jsessionid=EDE802AB96CD1E0CA2AFB3830D18FB10home/user 造成访问相关页面404.

3.解决方法

web.xml配置

COOKIE

URL

SSL

以上是Servlet3.0最会话跟踪的三个方式,Servlet 3.0规范实施前tomcat的会话跟踪用两种方法:COOKIE和带JSESSIONID参数的重写URL。 在 Tomcat 7中的URL重写方法不再是强制性的,并加入一个新的会话跟踪方法基于SSL会话。

移除URL 就解决了jsessionid的问题。

spring boot三种方式

1.启动类 继承 SpringBootServletInitializer 重写onStartup方法

@Override

public void onStartup(ServletContext servletContext) throws ServletException {

super.onStartup(servletContext);

servletContext.setSessionTrackingModes(Collections.singleton(SessionTrackingMode.COOKIE));

SessionCookieConfig sessionCookieConfig=servletContext.getSessionCookieConfig();

sessionCookieConfig.setHttpOnly(true);

}

2.在@Configuration配置类上注册bean

@Bean

public ServletContextInitializer servletContextInitializer1() {

return new ServletContextInitializer() {

@Override

public void onStartup(ServletContext servletContext) throws ServletException {

servletContext.setSessionTrackingModes(Collections.singleton(SessionTrackingMode.COOKIE) );

}

};

}

3.在springboot  properties配置

server.session.tracking-modes=

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/559415.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python二分查找算法_如何使用python的二分查找算法

如何使用python的二分查找算法发布时间:2020-11-18 09:27:29

retryexec.java 94_解决feign调用接口不稳定的问题

我就废话不多说了,大家还是直接看代码吧~Caused by: java.net.SocketException: Software caused connection abort: recv failedat java.net.SocketInputStream.socketRead0(Native Method)at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)a…

lua pcall 返回值_Redis和Lua整合

前面我们已经介绍完了Redis相关的理论知识,从本篇开始我们介绍一些Redis相关的时机应用。比如:Redis整合LuaRedis的消息模式Redis实现分布式锁常见的缓存问题我们先从Redis整合Lua的使用开始。lua是一种轻量小巧的脚本语言,用标准C语言编写并…

java 异步调用webapi_Async Await异步调用WebApi

先铺垫一些基础知识 在 .net 4.5中出现了 Async Await关键字,配合之前版本的Task 来使得开发异步程序更为简单易控。 在使用它们之前 我们先关心下 为什么要使用它们。好比 一个人做几件事,那他得一件一件的做完,而如果添加几个人手一起帮着…

哲学家就餐问题python_哲学家就餐-同步问题解析-python

五个哲学家吃五盘通心粉,由于通心粉很滑,所以必须要拿起左右两边的叉子才能吃到。叉子的摆放如图所示。那么问题来了:能为每一个哲学家写一段描述其行为的程序,保证不会出现死锁。解法1:让他等待能够使用的时候,然后去…

java compare equla_Java中的equals,==,compareTo和compare的比较

Java中的equals(),,compareTo()和compare()首先只有可以用作两个基本类型数据之间的比较,当然是值比较。当用作两个对象比较时,比较的是对象引用,而不是值比较。其次任何对象都可以调用.equals()方法,因为这是从Object类继承下来的…

百度相关搜索软件_不太热门的办公神器软件篇搜索相关

这次介绍两个windows平台超好用的搜索神器——listary和everything全文阅读约需3分钟在工作中,虽然大部分文件都会分门别类地放在对应的文件夹中,但总有一些放完就忘了在哪或是层级过深打开不便的情况。这两个搜索神器完美地解决了找不到文件且windows自…

java摘要_java 摘要

packagecom.aarony.test;importjava.io.IOException;importjava.security.MessageDigest;importsun.misc.BASE64Decoder;importsun.misc.BASE64Encoder;public classDigestDemo {/**** 此方法描述的是:base64 解码**author: Aarony*version: 2018年6月20日 下午9:16…

python的装饰器、迭代器、yield_python装饰器,迭代器,生成器,协程

python装饰器[1]首先先明白以下两点#嵌套函数defout1():definner1():print(1234)inner1()#当没有加入inner时out()不会打印输出1234,当前层级也就是作用域下必须调用函数才能引用out1()#函数作用域defout2():a aaadefinner2():a bbbprint(a)inner2()print(a)out2()#当相同变量处…

jni c 传递对象到java_JNI将二进制数据从C传递到Java

我需要帮助将二进制数据传递给Java.我正在尝试使用jbytearray但是当数据进入Java时它看起来很糟糕.有人可以帮我一把吗?这是一些示例代码的片段.首先是原生C面:printf("Building audio array copy\n");jbyteArray rawAudioCopy env->NewBy…

python查看电脑配置_怎么查看电脑配置(教你如何查看电脑配置信息和型号)

如今,由于游戏、影音、学习或者工作的需要,用户都会有购买电脑的时候,不过对于一些不懂电脑的小白来说,如果连电脑配置都不会差的话,是十分容易被宰的。比如组装台式机的时候,可能一个不注意就被JS调包了&a…

mysql gtid深入_深入理解MySQL 5.7 GTID系列(四):mysql.gtid_executedPREVIOUS GTID EVENT

之所以把MySQL.GTID_EXECUTED表的作用和PREVIOUS GTID EVENT的改变放到一起进行描述是因为它们后面文章探讨的基础。这部分使用到了我自己使用C语言写的原生BINLOG解析工具INFOBIN。一、GTID EVENT为什么要先描述什么是GTID EVENT呢?因为后面会用到,实际…

mysql 回滚段_MySQL和PostgreSQL比较

1、MySQL相对来说比较年轻,首度出现在1994年。它声称自己是最流行的开源数据库。MySQL就是LAMP(用于Web开发的软件包,包括 Linux、Apache及Perl/PHP/Python)中的M。构建在LAMP栈之上的大多数应用都会使用MySQL,包括那些知名的应用&#xff0c…

java应用程序多态_java – 多态和n层应用程序

这是一个很好的问题.这里有不止一个似是而非的方法;你必须平衡权衡,做出适合你情况的选择.(1)有些人会认为Document接口应该为实例提供一个自己呈现的方法.这从OO的角度来看是有吸引力的,但是根据您的观点技术,加载您的具体文档类(可能是简单的域模型类),具有JSP,Swing组件或其…

支持向量机python实例_Python机器学习SVM简单应用实例 | kTWO-个人博客

1、前言在上一篇理论性的文章中我们说过了,SVM是分线性可分和线性不可分两种情况的,线性可分的比较容易理解,比较容易一些,线性不可分的就稍微复杂一点了。我们测试就分别用线性可分和线性不可分两种情况分别测试Python中的SVM算法…

dbscan java_DBSCAN算法的Java,C++,Python实现

最近由于要实现‘基于网格的DBSCAN算法’,网上有没有找到现成的代码[如果您有代码,麻烦联系我],只好参考已有的DBSCAN算法的实现。先从网上随便找了几篇放这儿,之后对比研究。DBSCAN简介:1.简介DBSCAN 算法是一种基于密…

python云计算主要是干嘛的_国内python 云计算是干什么的

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":6,"count":6}]},"card":[{"des":"云服务器 ECS(Elastic Compute Service)是一…

python画pr曲线代码_Yolov3测试图及绘制PR曲线,yoloV3,map,和,画

训练指令:./darknet.exe detector train data/obj.data yolo-obj.cfg darknet53.conv.74 | tee train_yolov3.logps:For training with mAP (mean average precisions) calculation for each 4 Epochs (set validvalid.txt or train.txt in obj.data fil…

xampp 支持pdo mysql_在Windows上安装PHP PDO(xampp)

我正在尝试开发一个可以在PHP上连接到尽可能多的不同数据库的Web应用程序. PDO(http://www.php.net/manual/en/book.pdo.php)似乎是正确的界面,但我无法安装所需要的所有不同PDO数据库驱动程序所需的扩展.请注意,我在Windows 7机器上使用xampp. PHP版本5.3.8. PDO驱动启用了Mys…

python常用的库有哪些餐厅_这十个Python常用库,学习Python的你必须要知道!

想知道Python取得如此巨大成功的原因吗?只要看看Python提供的大量库就知道了包括原生库和第三方库。不过,有这么多Python库,有些库得不到应有的关注也就不足为奇了。此外,只在一个领域里的工作的人并不知道另一个领域里有什么好东…