首先说下
http>https>http
session是不会丢失的。
这个就是用户登录时候通过http访问了首页,或者页面,然后点击登录按钮,跳转到https协议下,输入完毕用户名密码等信息,登录录成功,在服务端session放入当前登录用户信息.
这种跳转方式不会出现session丢失情况。
这时候,如果用户没有访问你的http页面,而是直接通过https访问你的登录页面,这时候就是
https>http
用户输入完用户名密码等信息,登录成功,在服务端session放入当前用户信息, 再跳转回http的页面, session就丢失了, 说丢失可能不严谨(其实session还在服务端保存,只是tomcat帮我们创建了新的session id导致我们的会话跟踪失效)
以上是问题的描述
下面说解决办法。 我的项目是ssh架构的, 其他语言或者架构触类旁通即可.
解决之前首先我们要明白 服务端跟踪客户端的会话是通过 浏览器每次提交的一个cookie表示 这个cookie的key是JSESSIONID,value是session的id,
浏览器请求时候就会带上这个,服务端就可以成功跟踪客户端了。
问题的解决原理说清楚了。 现在说说代码怎么写
这里就以我的项目为例了。
用户直接访问https的登录页面,我这里留给客户端的链接是要经过struts的action的。 在action中
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response=ServletActionContext.getResponse();
Cookie cookie = new Cookie("JSESSIONID", request.getSession().getId());
response.addCookie(cookie);
假如我们不这样写,tomcat会发给浏览器jsessionid是重新创建的,就会出现session丢失情况,这样写了之后再从https>http就不会有问题了。
上面如有不对, 欢迎批评指正!
分享到:
相关推荐
IFrame中Session丢失的解决办法
Session丢失原因和解决方案.Session原理
asp.net 修改/删除站内目录操作后Session丢失问题
现在Ajax在Web项目中应用广泛,几乎可以说无处不在,这就带来另外一个问题:当Ajax请求遇到Session超时,应该怎么办? 显而易见,传统的页面跳转在此已经不适用,因为Ajax请求是XMLHTTPRequest对象发起的而不
thinkphp开发的一个项目,登录成功后又跳转到登录页面,在提交信息后输出session都是正常的,没有问题,但是页面跳转后,session出现丢失现象,无法正常完成登陆,下面通过本文给大家解答下
我们在用C#开发程序的时候经常会遇到Session很不稳定,老是数据丢失。下面就是Session数据丢失的解决办法希望对您有好处。 1、在WEB.CONFIG文件中修改SESSION状态保存模式,如:<sessionState mode=’StateServer’ ...
①response.redirect 这个跳转页面的...需要注意的是跳转后内部空间保存的所有数据信息将会丢失,所以需要用到session。 实例 Example that uses Redirect [C#; ASP.NET] 代码如下: using System; using System.Web.UI
本篇文章主要介绍了springmvc控制登录用户session失效后跳转登录页面,session一旦失效就需要重新登陆,有兴趣的同学可以了解一下。
在使用spingMVC的拦截器来处理用户session失效的问题时,当用户session失效会返回一串javascript字符串强制用户浏览器跳转至登录页面。然而当使用Ajax请求数据时,在验证失败后只会响应一串字符串,JavaScript并不会...
第一种方法:response.redirect ...需要注意的是跳转后内部空间保存的所有数据信息将会丢失,所以需要用到session。 代码如下 using System; using System.Web.UI; namespace WebApplication1 { public p
需要注意的是跳转后内部空间保存的所有数据信息将会丢失,所以需要用到session。 2、 server.transfer 速度快,只需要一次postback ,但是。。。。他必须是在同一个站点下,因为它是server的一个方法。另外,他能...
当用户在Web页面之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。 当用户请求来自应用程序的 Web 页面时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session ...
系统直接跳转到系统后台首页,后台登录成功后所跳转的URL这里没法指定,控制不了跳转的页面,如果在统一后台里需要链接到这个系统后台的另外一个页面,而非后台默认首页时,也就是将第三方系统后台的菜单功能放到...
这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。 当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一...
SESSION 在网络应用中,称为“会话”,我们通常理解为存储特定用户会话所需的信息,这样,当用户在网站页面之间跳转时,存储的 SESSION 值不会丢失,而是在整个用户会话中一直存活下去。通俗一点讲,就是当用户A上网...
场景:vue-router实现的单页应用,登录页调用登录接口后,服务器返回用户信息,然后通过router.push({name: 'index', params: res.data})跳转到主页,并在主页显示数据。但是当刷新页面时,由于并不是通过登录接口...
3.修正ie浏览器丢失session的问题 4.增加用户注册后直接自动登录,改进用户体验 5.修复后台删贴后,不能跳转的问题 6.前台内容页增加贴子编辑功能 7.改进搜索安全过滤 8.登录页面增加登录状态判断 9.头像采用...
而今天给大家推荐的这款PayPal Session Viewer v3.02插件就可以读取到session里面的Paypal支付记录,并把客人下单购买的产品信息重新写入订单列表,也就是他能够通过查询session里面的信息,在后台重新生成遗漏的...
登录成功:用session来记录用户信息,跳转到学生个人菜单页面 登录失败:在本页面提示登录失败(用户名或密码错误) 然后就进入用户模块了 管理员登录页面: 登录信息:用户名、密码登录 使用正则表达式验证账号...