extjs实现session过期跳转
extjs实现session过期跳转
extjs基于ajax实现,因为是异步请求,所以一般的jsp session过期跳转方式不可用,但是当它session过期时会手动去在页面头信息x-requested-with中插入XMLHttpRequest值,可以利用这
点去进行exjs的session过期处理。这里提供大家一个方法:
写一个Sessionfilter过滤器,检查是否session过期,过期时间通过web.xml配置(不明白具体步骤的上百度或者google详查),
Java代码
- String head = httpRequest.getHeader("x-requested-with");(获得extjs session过期值)
- if (head != null && !(head.equalsIgnoreCase("XMLHttpRequest"))) {
- if (sessionUser == null) {
- httpResponse.sendError(999); //添加respone报错信息
- filter.doFilter(httpRequest, httpResponse);
- }
- else{
- filter.doFilter(httpRequest, httpResponse);
- }
- }
复制代码js中需要用到extjs中一个事件:
Js代码
- Ext.Ajax.on('requestexception',function(conn,response,options) {
- if(response.status=="999"){
- Ext.Msg.alert('提示', '会话超时,请重新登录!', function(){
- var url = document.getElementById("atsurlid").value;
- parent.location.href = url+'login.jsp';
- });
- }
- });
复制代码然后可以实现session过期跳转。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
学习学习