jsp session 过期提示问题
jsp 里面如何完成当session 过期后,自动弹出消息提示,然后关闭窗口?
查了好多资料,还是不太明白,有经验的指导一下。
谢谢
------解决方案--------------------定时刷呀
------解决方案--------------------用filter啊,检查到session里的用户信息没有了,就跳转。
------解决方案--------------------filter+1
------解决方案--------------------你可以用getSession(false),应该是false。表示如果没有session对象,不自动创建。然后看看是不是有效。
恩,恩
------解决方案--------------------写个过滤器..针对每一个请求验证session中有没有你存的信息.如果没有的话作相应操作..
------解决方案--------------------其实AJAX定时去后台判断request里面的SESSION是否过期也可以啊
------解决方案--------------------function validateSession(){
var k=<%=request.getSession().getAttribute("对象名")%>
if(k==null){
window.close();
}
}
放js里,
在改下<body onload()>
试一下看行不
------解决方案--------------------
------解决方案--------------------学习
------解决方案--------------------判断是在JSP里判断的,是JAVA代码判断,也就是说,你要访问一个JSP的时候才能判断,你看到了一个JSP的页面后,就无法判断了,比如说你看到了一个页面,一直停在那里,是无法判断是否过期的,也是不需要判断的,当它访问某一个资源的时候,你再判断就行了,就像Struts中的过滤器...任何访问JSP,Action之前都先到过滤器中判断一下...
------解决方案--------------------我以前搞这个还走了不少弯路!最后才知道用个JS就搞定了
------解决方案--------------------过滤器,判断session,如果有,链到下一个页面,如果没有,直接跳到一个提示页面,并且JS关闭
------解决方案--------------------做个拦截器配置上去
------解决方案-------------------- 1.在一个baseAction中作一个session time out 的 check 方法.
2.然后别的action 继承 baseAction.
3.在每一个action中作判断。
4.struts-config.xml 中 中配置异常后的跳转画面(<global-exceptions>)。
step1 代码
public void sessionTimeOutValidate(HttpServletRequest request) throws
Session
TimeoutException{
if(null == request.getSession().getAttribute(Constants.USER_ID)) {
throw new SessionTimeoutException("SessionTimeoutException:
sessionExpire异常");
}
}
SessionTimeoutException 异常类代码省略
step2 ,3,4 代码略
------解决方案--------------------补充:
用js的方法安全性不高
------解决方案--------------------jsp里判断,就用ajax好了
------解决方案--------------------支持一下
------解决方案--------------------路过学习