spring boot中一直刷新一个请求得到的sessionid会变化

controller中的代码:
@RequestMapping(value = "/sessions", method = RequestMethod.GET)
public Object sessions(HttpServletRequest request) {
Map sessionIdPortMap = new HashMap();
// 获取session信息
sessionIdPortMap.put("sessionId:", request.getSession().getId());
sessionIdPortMap.put("服务器端口:", request.getServerPort());
return sessionIdPortMap;
}

请求:
http://localhost:8004/sessions

两次请求一样,sessionId不同:
{
"sessionId:": "c8636f78-6a04-48f7-a9b6-c452108d74f3",
"服务器端口:": 8004
}

{
"sessionId:": "9cee7886-b85f-4078-9310-b1b580403e7d",
"服务器端口:": 8004
}

这种配置代码也配了,没用:
@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {

@Override
public void addCorsMappings(CorsRegistry registry) {
    System.out.println("我是MyWebConfig跨域");
    // 设置允许跨域的路径
    registry.addMapping("/**")
            // 设置允许跨域请求的域名
            .allowedOrigins("*")// 设置跨域访问的域名,如果是*,默认都可以访问。
            // 是否允许证书 不再默认开启
            .allowCredentials(true)// 设置是否允许客户端发送cookie信息。默认是false
            // 设置允许的方法
            .allowedMethods("GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS")
            // 跨域允许时间
            .maxAge(3600);
}

}

哪位大神可以解决呀!!!

5个回答

问题刚刚自己找到问题解决了,关键代码注释掉了,真的是自己给自己挖坑,不是跨域的问题

如果是前后端分离(前后端仅端口不同也算)的项目,首先考虑跨域问题,可参考https://www.cnblogs.com/gyli20170901/p/9354431.html
,如果不是,把浏览器的F12信息发出来看看吧

qq_38208327
六一真人 粘贴的好乱。。,在响应头中有x-auth-token: aaaba581-8e19-4599-bc30-cfdc1a3f8195,但是在请求中没有sessionid,浏览器里也没有存储sessionid,不知道为啥
7 个月之前 回复
qq_38208327
六一真人 Request URL: http://localhost8004/sessions Request Method: GET Status Code: 200 Remote Address: [::1]:8004 Referrer Policy: no-referrer-when-downgrade Access-Control-Allow-Credentials: true Access-Control-Allow-Headers: x-requested-with Access-Control-Allow-Methods: HEAD, POST, GET, OPTIONS, DELETE, PUT Access-Control-Max-Age: 3600 Content-Type: application/json;charset=UTF-8 Date: Tue, 05 Mar 2019 12:00:05 GMT Transfer-Encoding: chunked x-auth-token: aaaba581-8e19-4599-bc30-cfdc1a3f8195 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 Accept-Encoding: gzip, deflate, br Accept-Language: zh-CN,zh;q=0.9 Cache-Control: max-age=0 Connection: keep-alive Host: localhost:8004 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36
7 个月之前 回复

检查一下浏览器请求时,有没有带上session请求。没有的话,就还是跨域问题

qq_38208327
六一真人 确实没有,因为浏览器里面没有sessionid这个缓存
7 个月之前 回复

1、sessionId不同,是因为“没有就创建一个新的”机制。
2、检查浏览器cookie里有没sessionId?
3、查spring boot是否依赖spring session?过滤器是否开启cookie获取sessionId?(默认是,就是不知道该架构改了没)

qq_38208327
六一真人 你说的很对,就是没有sessionid在cookie里面,那要如何解决,cookie里面为什么不存储sessionid呀,是不是浏览器需要设置什么
7 个月之前 回复

request中的session是需要自己手动创建的,和spring boot 没有关系,你是不是想用spring session?

weixin_42793472
潇潇暮雨、落尘 回复六一真人: 楼主,你后来是怎么解决的?我也是这个问题,cook里面有sessionId,但是还是创建一个session,sessionId就变了
6 个月之前 回复
qq_38208327
六一真人 是,我用了spring session,而且会自动往redis中存储
7 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
怎么sessionid刷新的时候会变化?
怎么sessionid刷新的时候会变化?
Spring boot请求拦截
DispatcherServlet 搜索DispatcherServlet 查询doDispatch 所有的请求一进来 首先,会来到doDispatch方法 可以在该方法上 设置拦截,查看请求参数信息
Spring Boot:请求的处理
一:SpringMVC工作流程 先来看一下流程图 SpringMVC的组件: Dispatch Servlet:前端控制器 Handler Mapping:映射处理器 Handler Adapter:适配处理器 Controller:控制器 View Resolver:视图解析器 SpringMVC的工作流程 请求先到达DispathcherServlet,DispathcherServl...
Spring boot转发请求
转发请求 Forward 表示转发到一个地址 ThymeleafViewResolver Spring MVC的视图解析器 作用,根据视图名,得到视图对象 createView 创建视图对象 viewName,方法的返回值 得到视图名 进行一些判断 如果,startsWith,以forward开始 会创建一个InternalResourceView对象 Intern...
Spring boot重定向请求
重定向 Redirect 表示重定向到一个地址 ThymeleafViewResolver Spring MVC的视图解析器 作用,根据视图名,得到视图对象 createView 创建视图对象 viewName,方法的返回值 得到视图名 进行一些判断 如果,startsWith,以redirect开始 会创建一个RedirectView,重定向视图 Redire...
CPUID得到的数据会变化?
我的软件里用到了CPUID生成序列号,可是最近有用户反应,他的序列号不断的变化,我给的注册码没法用。rn我以前在Intel和AMD的单核处理器上测试过是不会变化的。但他的电脑是至强处理器。rn我想问一下,在至强处理器或双核处理器上用CPUID指令是否会变化?rn下面是我的代码:rn push ebxrn push ecxrn push edxrn mov eax, 1rn cpuidrn mov IDAX, eaxrn mov IDBX, ebxrn mov IDCX, ecxrn mov IDDX, edxrn pop edxrn pop ecxrn pop ebxrnrn请问我取到的IDAX、IDBX、IDCX、IDDX会发生变化吗?
spring boot中post请求接收参数
在我们定义接口时通常会用到post请求,对于post请求我们如何接收从页面传过来的参数 以下总结了几种方法,适用于大多数类型 1.对于参数类型不确定的一个或多个参数类型 当我们post请求只有一两个参数时,不需要创建对象时,可以使用JSONObject实体类。 如下用post传递Integer类型,在controller层定义**getInteger()**方法; @ResponseBody @...
继续SessionID刷新问题....
我的IIS. rn rnResponse.Write(Session.SessionID) rnSession("sfdsafdsa")="" rn rn rn这样,刷新之后,输出的 SessionID 值不变 rn rn去掉Session("sfdsafdsa")=""这句 rn rn重新打开一个IE,刷新,每次刷新后显示的SessionID的值都会变化 rn rn请问为什么多加一句Session("sfdsafdsa")=""就不变化了呢? rn rn这个问题又如何解决,
spring boot 请求后缀匹配
spring boot 项目中添加这个类就可以实现url不同后缀区分了 public class UrlMatchConfig extends WebMvcConfigurationSupport { @Override public void configurePathMatch(PathMatchConfigurer configurer) { //se...
spring boot请求响应乱码
在使用spring boot时发现请求响应乱码,如下:   找了网上各种解决办法都不行,后来发现只需在yaml文件中加上即可解决
缺省配置Spring boot Web中一个请求的处理流程
概述 缺省配置Spring boot Web中一个请求的处理流程,主要经历了以下组件,本文将基于源代码对此流程做详细分析 : Tomcat (容器标准组件) Spring MVC (容器标准组件) 开发人员提供的Web Controller方法 (开发人员实现的业务逻辑) 本文用于分析该处理流程的源代码来自项目 : 完全采用缺省配置的最简Spring-boot Web应用 To
Spring Boot(四)Spring Boot 中的定时任务
一.SpringBoot中开启定时任务 在spirngboot中使用定时任务非常简单,只需要在启动类上增加一个@EnableScheduling注解即可。 @SpringBootApplication @EnableScheduling public class Application { public static void ...
F5页面刷新 sessionid 变化 问题
经手一问题,在第一个项目跳转第二个项目的时候。 跳转到首页是一个sessionid ,F5刷新一次就会变成一个新的sessionid  只会变化一次。多刷新没用 查找各方答案都没用,最后终于找到了。 在第二个项目的web.xml中 有配置 <error-page> <error-code>404</error-code> <locat...
Spring Boot:在Spring Boot中使用定时任务
本文主要介绍如何在Spring Boot中使用定时任务,假设你已经建好了一个基础的Spring Boot项目。首先,我们在项目中建立一个定时任务。 1.创建定时任务 package hello; import java.text.SimpleDateFormat; import java.util.Date; import org.springframework.scheduling.an
Spring Boot(6)—— Spring Boot中定时任务
在我们的项目开发过程中,经常需要定时任务来帮助我们来做一些内容,springboot默认已经帮我们实现了,只需要添加相应的注解就可以实现。1、pom.xml配置pom包里面只需要引入springboot starter包即可<dependencies> <dependency> <groupId>org.springframework.boot</groupId>
Asp.Net页面刷新SessionID总是变化
在Asp.net站点中,刷新页面 SessionID 变化,在网站中加入 Global.asax 解决 因为在一个没有使用Session的Web项目中,默认是无会话访问。即会话不会保持,Cookies中也不会保存SessionID。 要么使用Session,要么添加Global.asax 文件,会话就会开启
如何得到IE的SESSIONID?
我使用控件得到了IE的Cookie,但是得不到SESSIONID,请问如何可以取得IE得SessionID,不胜感激!
请求如何生成一个随机的SessionID
如题,希望各位高手帮忙解决一下。还有,我不是很明白,生成的SessionID传递给下一个页面的时候怎么取得?用 session('UID')?rn不好意思,我知道问题很菜很无知。。。。。。
一个请求在spring中的流程
**DispatcherServlet.doDispatch->DispatcherServlet.doService-> -> 自己controller中的方法 -> InvocableHandlerMethod.doInvoke-> InvocableHandlerMethod.invokeForRequest-> ModelFactory.invokeModelAttributeM
aspx的页面每次刷新或跳转页面输出的sessionid会变化?内详!请指点谢谢。
求助。我做了session实验 做了两个页面第一个rn一个输出sessionid 一个跳转第二个页面的按钮rn protected void Page_Load(object sender, EventArgs e)rn rn Response.Write("SessionID:"+Session.SessionID);rn rn protected void Button3_Click(object sender, EventArgs e)rn rn Response.Redirect("default2.aspx");rn rnrn第二个页面rn protected void Page_Load(object sender, EventArgs e)rn rn Response.Write("SessionID:"+Session.SessionID);rn rn为什么两次输出sessionid值会不同呢。rn而且我在第一个页面每次刷新 sessionid也会不同。rnrn按道理说两次的sessionid不相同 则是两个不同的会话。rn但是我如果在第一个页面session里存些内容 比如session["username"]=**;rn在第二页面获取label1.text=session["username"] 确能获取到内容rn按道理说 服务器应该靠一个相同的sessionid判断是否是同一个session的内容rn但是现在输出的sessionid并不相同 确能获取到session的内容rnrn我vs的运行方式是 文件系统 并没有用iis 是否跟这个有关呢?rnrn小弟极为不解 请高人解答 诚挚感谢
为什么刷新一下页面SessionID会变呢
不是说Session的生存期是从进入网站到不再访问网站为止吗,而刷新页面的话应该还是同一个Session在访问网站啊。为什么SessionID会变呢,SessionID变化了就表示是一个新的Session在访问了啊
Spring Boot 应用上下文刷新过程
前面讲了Spring Boot基于JavaConfig的执行流程,主要讲了应用环境的准备和初始化、应用上下文的实例化和准备,在应用上下文实例化时只注册了为后续解析配置必要的bean,应用上下文中基本上没有任何东西。本文通过分析AbstractApplicationContext#refresh()的执行来对Spring Boot的应用上下文的配置进行讲解,同时说明Spring Boot自动配置的实
用des64.dll得到的值会变化
ls_code="12345678901w20r1233333333333333333333333333212342356787856787654"rnls_code=of_encrypt(ls_code)rnmessagebox('',ls_code)rnrn怪了,ls_code的值什么有时会不一样,没有固定,是变化的rn
Spring Boot中的热部署
原本年少无知的我第一次听到“热部署”这三个字感觉是有多么的高大上。后来我才发现,我就是个弟弟。 关于Spring Boot热部署其实很简单,只需要在你项目的pom文件中添加一个叫Spring-Boot-devtools的东西就行 &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt...
spring boot中记录日志
在spring boot中,spring-boot-starter-logging是spring-boot-starter的一个依赖,也就意味着spring boot项目默认就有了例如日志的能力。spring-boot-starter-logging中包含了SLF4J以及Logback的实现,并且,spring boot logging还支持自动配置。所以,日志的功能在spring boot中是开...
Spring boot 中的事务管理
事务管理配置: 当我们使用了 spring-boot-starter-jdbc 或 spring-boot-starter-data-jpa 依赖的时候,框架自动默认分别注入 DataSourceTransactionManager 或 JpaTransactionManager。 声明式事务: 需要在启动类上加入 @EnableTransactionManagement (proxyTarget...
spring boot拦截器中获取request post请求中的参数
spring boot拦截器中获取request post请求中的参数 很强,赞一个
【Spring Boot】(24)、Spring Boot中使用缓存之Spring缓存
1、缓存依赖只要添加如下依赖,即可使用缓存功能。&amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.springframework.boot&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;spring-boot-starter-cache&amp;lt;/artifactId&amp;gt; &amp;lt;/dependency&amp;gt;2、缓存注解@Enab...
Spring boot 中发送邮件
 添加依赖包。 dependencies { implementation 'org.springframework.boot:spring-boot-starter-mail' testImplementation 'org.springframework.boot:spring-boot-starter-test' }  配置。 # 企业邮箱 spring.mail....
为什么在两个action中得到的sessionID不一样?
我在第一个ACTION中,有如下代码:rnHttpSession session=servletRequest.getSession();rnsession.setAttribute("user","hello");rnSystem.out.println(session.getId());rnrn执行完后跳转到另一个ACTION中,有如下代码:rnHttpSession session=servletRequest.getSession();rnSystem.out.println(session.getId());rnrn我发现打印出的两个sessionID不一样,而且user的值也得不到,这是为什么?rn请各位指点,谢谢。
Spring cloud spring boot spring boot admin
Spring cloud spring boot spring boot admin。spring demo,
expression web 中代码视图有时候会自动一直刷新
尊敬的开发者和各位大师们:rnrn我在使用expression web时候,有时候代码会像刷新操作一样一闪一闪的,并且,按住ctrl点击类别名称也无法跳转到相应CSS代码,代码文本也很难选中,这种情况下需要把该文件关闭后重新打开才正常,在expression web2和4的版本中我都碰到过,不知道是什么原因,请你们指教。rnrn非常感谢你们的回复O(∩_∩)Orn
Spring Boot 过滤器配置http请求跨域问题
        比如,前端应用为静态站点且部署在http://web.xxx.com域下,后端应用发布REST API并部署在http://api.xxx.com域下,如何使用前端应用通过AJAX跨域访问后端应用呢?这需要使用到CORS技术来实现,这也是目前最好的解决方案了。   CORS全称为跨域资源共享,服务端只需添加相关响应头信息,即可实现客户端发出AJAX跨域请求。   CORS技术非...
spring boot初识(三):请求到页面
功能描述: 服务接收到http请求后,跳转到指定页面。 开发流程: 首先有一个支持该请求的服务类,代码如下: @Controller @RequestMapping(&quot;/html&quot;) public class HtmlController { @RequestMapping(&quot;/static&quot;) public String staticHtml(String username) {...
Spring Boot快速入门(二):http请求
一、准备   postman:一个接口测试工具 创建一个新工程 选择web 不会的请看Spring Boot快速入门(一):Hello Spring Boot   二、开始   新建java类RequestCtrl 1.添加一个all方法,使用@RequestMapping注解,可以处理所有的http请求       @RestController//这是一个控制...
spring boot学习(七)---AOP处理请求
七 aop处理请求1.内容aop 是 编程范式,与语言无关,是编程设计思想2.添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency>在com
spring boot页面路径解析和请求解析
@RequestMapping(value = &quot;/profile/{groupId}/{userId}&quot;)@ResponseBodypublic String profile(@PathVariable(&quot;groupId&quot;) String groupId,@PathVariable(&quot;userId&quot;) int userId,@RequestParam(value = &quot;type&quot;, defaul...
spring boot 访问外部http请求
以前 访问外部请求都要经过 要用 httpClient 需要专门写一个方法 来发送http请求 这个这里就不说了 网上一搜全都是现成的方法 springboot 实现外部http请求 是通过FeignClient来请求http数据的 特别简单实用的一个注解 1. 首先我们要在对应的maven项目中加上依赖   &lt;dependency&gt; ...
Spring Boot入门3——AOP处理请求
在Spring Boot中,如何用AOP实现拦截器呢? 首先加入依赖关系: org.springframework.boot spring-boot-starter-aop 希望截拦如下Controller: @RestController public class MyController { @RequestMapping(value="/hello", metho
spring boot 跨域和请求两次问题的解决
1、概述 在工程进行前后端分离后, 分别部署在两个容器中, 在访问过程中出现跨域问题。 这里讲解一下,本人遇到的问题,主要是跨域和请求两个问题的解决。 2、请求两次的问题理论部分(完全参考下面地址) 发现一种情况,在前端ajax请求数据的时候,有时候会向后台一次性发送两次请求,这两次请求第一次无返回数据,第二次才会返回正确数据。在两次请求之后的一段时间内,是只发送一次请求的。过了一段时...
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池