200分,《session失效,重新登录》,散分,求助了。。。

qq14017152 2010-11-22 08:31:02
大家好,现在遇到一个难题。请帮忙,谢谢!

问题是这样:java jsp做的网站,用户登录一段时间之后,session失效,需要重新弹出模态对话框(背景变灰,遮罩层)提示用户重新登录,登录成功之后,回到刚才客户所看的jsp页面。

请大家提示下思路,代码有用的分多多啊!!!thanks

...全文
625 38 打赏 收藏 转发到动态 举报
写回复
用AI写文章
38 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq14017152 2010-11-25
  • 打赏
  • 举报
回复
谢谢大家捧场!结贴
xiaochengfu1 2010-11-23
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 qq14017152 的回复:]
引用 23 楼 ghsau 的回复:
引用 21 楼 qq14017152 的回复:
怎么只能发一百分的帖子?请说明下,我分够啊,

你发帖的时候没看到上下限吗,20-100之内

别人有的好几百分的帖啊?你没看到过?
[/Quote]

别人级别比你高一些,你只有两颗三角
ansensp 2010-11-23
  • 打赏
  • 举报
回复
session不过期恐怕是不行的, 如果都是直接关闭浏览器, 那LZ还得将session集中管理并且实时销毁.

其实可以在用户成功登录后在session中写入一个标志, 然后再servlet或action中增加如下代码

boolean isOutTime = false;
try{
if(session.getAttribute("loginFlag") == null) isOutTime = true;
}catch(Exception e){
isOutTime = true;
}

if(isOutTime){
......
}
qq14017152 2010-11-23
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 ghsau 的回复:]
引用 21 楼 qq14017152 的回复:
怎么只能发一百分的帖子?请说明下,我分够啊,

你发帖的时候没看到上下限吗,20-100之内
[/Quote]
别人有的好几百分的帖啊?你没看到过?
qq14017152 2010-11-23
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 gavin_ts 的回复:]
给楼主一个建议! 不要用分说话!
不是每一个人都是为了挣分!
助人者自主也! 楼主三思!!!
[/Quote]

呵呵,说的是,下次注意了。谢谢。
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 qq14017152 的回复:]
怎么只能发一百分的帖子?请说明下,我分够啊,
[/Quote]
你发帖的时候没看到上下限吗,20-100之内
xf_taoran 2010-11-23
  • 打赏
  • 举报
回复
配个拦截器,每次请求的时候都验证下session是否失效,如果没有失效就继续执行,如果失效的话,跳转到登陆页面,并在登陆页面记录当时的请求,登陆成功后继续执行当初的请求。
qq14017152 2010-11-23
  • 打赏
  • 举报
回复
怎么只能发一百分的帖子?请说明下,我分够啊,
wubin_2003 2010-11-23
  • 打赏
  • 举报
回复
想要session不过期,好处理的,web.xml中
<session-config>
<session-timeout>-1</session-timeout>
</session-config>

可以了
wubin_2003 2010-11-23
  • 打赏
  • 举报
回复
想要session不过期,好处理的,web.xml中
<session-config>
<session-timeout>-1</session-timeout>
</session-config>

可以了
wubin_2003 2010-11-23
  • 打赏
  • 举报
回复
楼主,你的代码需要改进下:
<%
User u = (User) request.getSession().getAttribute(
"usersuccesslogin");
if(u==null){
%>
<input type="hidden" value="yes" id="sessionTimeOut" />
<%}else{%>
<input type="hidden" value="no" id="sessionTimeOut" />
<%} %>
<script>
var loginflag = document.getElementById("sessionTimeOut").value;
if(loginflag =='yes'){
window.showModalDialog("<%=basePath%>",window,"dialogHeight=200px;dialogWidth=300px;status=no;resizable=no;help=no;center=yes;");
}
</script>
  • 打赏
  • 举报
回复
你整那么高深干什么,还遮罩,直接跳到一个登陆页不就可以了吗,用过滤器拦截一下session,或者你直接在web.xml里定义一个500错误页,让它重新登录!
qq14017152 2010-11-23
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 huminghua 的回复:]
你其实可以很大程度上保证Session不失效的!
[/Quote]
我现在就想这么实现,说是用一个页面定时刷新,iframe包含,可session还是失效,迷惘中。。。请问你的办法是?
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 dyllove98 的回复:]

用ajax定时交互?一交互 session还会过期吗?
我觉得这个方式不行...只能说过滤器中判断已经过期 然后跳转到登陆页面中去,
或者在每个链接中都加入一个js事件来通过ajax验证是否过期,这种思路是可行的,不过期就跳转,过期就返回false,弹出对话框,这样的话链接就不会进入
引用 2 楼 leon0098 的回复:

要想session过期后自动弹出登录框,需要在网页上用js……
[/Quote]Ajax就可以了。服务器本身就有session过期的限制。一过期了调用Ajax去处理就可以了。
戒指 2010-11-23
  • 打赏
  • 举报
回复
监听器,可以设置失效时间的吧
yaoweijq 2010-11-23
  • 打赏
  • 举报
回复
在过滤器里面判断吧,
session失效了就跳到楼主所说的登陆界面,
同时把登陆以前的链接以参数形式传过去,
具体例子看看csdn的登陆url就清楚了,
登陆成功后redirect到以前的链接
我嘞个去 2010-11-23
  • 打赏
  • 举报
回复
给楼主一个建议! 不要用分说话!
不是每一个人都是为了挣分!
助人者自主也! 楼主三思!!!
huminghua 2010-11-23
  • 打赏
  • 举报
回复
你其实可以很大程度上保证Session不失效的!
whut_lcy 2010-11-23
  • 打赏
  • 举报
回复
用Session的监听器来搞就完了。
在实现类里面,处理当session失效后,触发一个事件,事件中处理你要的效果
softwarexiang120 2010-11-23
  • 打赏
  • 举报
回复
使用监听器吧!
加载更多回复(13)

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧