起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

[结贴] 系统还是会经常(时不时地)超时

[复制链接]

532

主题

2107

帖子

4308

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4308
 楼主| 发表于 2019-4-3 10:09:40 | 显示全部楼层
本帖最后由 江苏院-吴昊 于 2019-4-3 10:20 编辑
jishuang 发表于 2019-4-3 08:41
设置肯定是有原因的

不行,改成false还是会报错。
可能是昨天开的浏览器没关,我再观察两天
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4308

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4308
 楼主| 发表于 2019-4-17 13:41:23 | 显示全部楼层
现在采用login.j的方式,而不采用直接登录方式(url附件username和password),看起来要好点了。

平台能否是实现24小时又不掉线?
我的想法:
1.tomcat还是默认的30分钟超时。
2.但客户端浏览器不关闭时不把cookie里的bsessionid置为null,这样下次打开系统时,可以直接登录。
3.如果发现超时,自动重新登录,分配新的bsessionid,且系统不会提示超时重新登录。
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2019-4-17 14:18:02 | 显示全部楼层
那就自己在首页加一个定义调用30分钟向后端发一下请求
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4308

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4308
 楼主| 发表于 2019-4-17 15:29:05 | 显示全部楼层
jishuang 发表于 2019-4-17 14:18
那就自己在首页加一个定义调用30分钟向后端发一下请求

现在有个问题,同一浏览器,打开多次系统,只要其中一个关闭了,另一个就会超时,本质是因为关闭时,将bsessionid置为null,导致了后一个浏览器得不到bsessionid了。

这个场景还挺常见的,比如用户正在系统里使用,此时IM工具弹出一个流程审批信息,用户点击这个弹出框,在同一浏览器打开了审批页面,处理完毕后关闭页面,继续在原来的系统页面里操作,此时一定会报超时。

所以我将setBsessionid(null)去掉,这样可以避免问题,同时用户关闭所有窗口后,只要bsessionid没有过期,下次打开系统,可以直接免密登录,因为cookie里有bsessionid。 如果我将超时设置为30分钟,那用户在关闭浏览器40分钟时,打开浏览器,虽然有bsessionid的,但是拿到businessServer验证是过期的,会报超时错误。首页加一个定时调用 解决不了上述问题。

所以我在想如果发现超时了,能否自动续上。。。
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2019-4-17 16:01:08 | 显示全部楼层
那就是.j中自己实现啊,获取bsessionid进行判断如果超时了就自己调用登录获取新的bsessionid
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4308

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4308
 楼主| 发表于 2019-4-17 16:44:00 | 显示全部楼层
jishuang 发表于 2019-4-17 16:01
那就是.j中自己实现啊,获取bsessionid进行判断如果超时了就自己调用登录获取新的bsessionid ...

知道了,那我大概梳理下:
1.tomcat设置为默认的30分钟(长一点也无所谓);
2.系统页面未关闭时,index.w中定时调用action实现会话保持(保证在浏览器不关闭情况下,系统不会超时);
3.系统页面关闭时,不删除cookie中的bsessionid(这样,在多个浏览器tab里打开系统,关闭其中之一不会导致其他超时)

4. 30分钟内用户再次打开系统,
    4.1 直接访问index.w,自动登录(应该是发现有bsessionid跳过登录加载首页)
    4.2 通过域跳转,访问的是login.j,其中会判断bsessionid是否超时(所以是否超过30分钟无所谓)

5. 30分钟后用户再次打开系统
   5.1 直接访问index.w,会跳过登录,但是进入到首页后,调用的第一个action报超时
   5.2 同4.2


我想确定是红色部分是不是像我描述的这样,
比如,我已经登录系统了,然后打开新的标签页,复制粘贴index.w的地址,回车后是直接可以进入系统的(这之间有没有拿bsessionid去验证我不清楚,还是说直接判断bsessionid存在就没去验证了)
如果是这块代码在哪。


及时结贴是个好习惯
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2019-4-17 17:18:38 | 显示全部楼层
把平台默认带.w的地址修改为.j的地址,.j中去控制校验,跳转到平台默认的首页

远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4308

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4308
 楼主| 发表于 2019-4-19 08:54:17 | 显示全部楼层
jishuang 发表于 2019-4-17 17:18
把平台默认带.w的地址修改为.j的地址,.j中去控制校验,跳转到平台默认的首页

...

结贴吧
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

33

主题

373

帖子

916

积分

高级会员

Rank: 4

积分
916
QQ
发表于 2021-12-9 16:36:56 | 显示全部楼层
学习了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-11-23 13:45 , Processed in 0.059360 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表