关于jsessionid来源的研究

java开发中偶然是会遇到,系统登陆的各种问题。比如有的浏览器能登陆有的不能登陆,这时候就需要人工去在具体的环境中找寻原因。首先要找的就是跟踪登陆时候session的状态。那么浏览器中sessionid到底是在哪里看又在哪里生成呢。大多数人只知道session的作用但是没研究过的工作原理。首先session有两种模式进行工作,1.浏览器自动cookie模式。这种模式一般情况session名字是叫做jsessionid,这应该是一个规范。具体不同的服务器可能名字不一样。反正tomccat就是jsessionid;2.url重构的方式来实现这种情况需要每个url后面都需要追加当前sessionid,这是针对有浏览器被禁用cookie的时候使用的方式。所以一旦出现登陆不能成功的时候就要记得注意检查是不是浏览器禁用了cookie,如果cookie没有被禁用的时候,再看下跟踪下后台,看下后台有没有接收到该sessionid。在没有手动管理session的系统中跟踪session时不要想着找sessionid在哪里创建的,是没有意义的。这些都是servlet完成,而且tomcat容易会自动进行cookie标示存到浏览器,浏览器下次请求也能自动传递该域下的cookie并且tomcat会自动关联响应的session。你只需要查看当前session和浏览器对应的是不是同一个id,有没有过期即可。


发表评论

电子邮件地址不会被公开。 必填项已用*标注