参考:http://lym6520.iteye.com/blog/871092
1.Ext增加如下代码
Ext.Ajax.defaultHeaders = { 'Request-By': 'Ext' // 标识ajax请求 }; Ext.Ajax.on('requestcomplete',function(conn,response,options){ var json = Ext.decode(response.responseText); if(typeof json == 'object' && !json.success && json.timeout){ alert('<fmt:message key="msgBox.loginerror.timeout"/>'); window.location.href = 'login.jsp'; } });
2.Filter代码:
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { List<String> list = new ArrayList<String>(); list.add(loginUrl); list.add("/login"); HttpServletRequest httpServletRequest = (HttpServletRequest) request; HttpServletResponse servletResponse = (HttpServletResponse) response; String path = httpServletRequest.getServletPath(); User user = (User) httpServletRequest.getSession().getAttribute("user"); if (!list.contains(path) && user == null) { String ext = httpServletRequest.getHeader("Request-By"); if (ext != null && ext.equalsIgnoreCase("Ext")) { servletResponse.addHeader("sessionstatus", "timeout"); PrintWriter out = servletResponse.getWriter(); out.print("{success:false,timeout:true}"); out.flush(); out.close(); } else { servletResponse.sendRedirect(httpServletRequest.getContextPath() + loginUrl); } } chain.doFilter(request, response); }
3.也可以直接判断是否为Ajax提交
String head = httpRequest.getHeader("x-requested-with"); if (head != null && !(head.equalsIgnoreCase("XMLHttpRequest"))) { //Ajax提交 }
相关推荐
使用filter来做后台,Ext.Ajax.on('requestcomplete', checkUserSessionStatus, this);用requestcomplete这个方法来异步判断session是否已经失效了
通过这种方式,EXTJS 4.1 MVC应用能够智能地处理动态加载控制器,同时优雅地处理Session过期的情况,确保用户有一个顺畅的使用体验。动态加载控制器和Session管理是构建大型、可扩展Web应用的基础,它们有助于提高...
在EXTJS中,你可能遇到的问题是,session过期后,某些功能可能不再正常工作,尤其是对于那些在session过期前未被触发的功能。 为了解决这个问题,后端需要做以下判断: 1. 检查请求头中的`accept`字段,通常Ajax...
在本文中,我们将探讨如何在Session过期后自动将用户重定向到登录页面。 首先,开发者可能尝试使用Session监听器(HttpSessionListener)来检测Session的过期。监听器是Java Servlet规范的一部分,允许我们注册监听...
ExtJS3 升级到 ExtJS4 方案 ExtJS3 升级到 ExtJS4 需要修改大量代码,主要是因为 ExtJS4 配备了一类新的系统,不向后兼容。在 ExtJS 3 里生成表的几个框架组件,ExtJS4 大多生成 div,这使得 CSS classes 将会失败...
ExtJS是一种广泛使用的JavaScript库,专门用于构建富客户端的Web应用程序。它提供了丰富的组件和工具,使得开发者可以创建出功能强大、用户界面友好的Web应用。在“extjs流程界面设计器参考”中,我们主要关注的是...
本书作为Extjs的中文教程,旨在帮助读者快速上手Extjs,其内容涉及Extjs的基础知识和实际应用。 #### 2. JavaScript基础知识 - **类的定义**: Extjs中的类继承于JavaScript原生类,通过Ext.extend来定义。这是...
ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门ExtJS快速入门 ExtJS快速入门 ExtJS...
ExtJS是一种广泛使用的JavaScript库,专门用于构建富客户端Web应用程序。这个压缩包包含了ExtJS的两个重要版本:2.2和3.2.1。这两个版本在Web开发领域都有着广泛的运用,它们各自拥有不同的特性和改进,对于理解...
ExtJS 是一个流行的JavaScript框架,用于构建富客户端的Web应用程序。它提供了丰富的用户界面组件、数据绑定机制和强大的API,使开发者能够创建功能强大的、响应式的桌面和移动应用。7.6版本是ExtJS的一个重要更新,...
ExtJS是一个广泛使用的JavaScript库,专门用于构建富客户端应用程序。版本3.3是该库的一个稳定版本,提供了许多功能和组件,使得Web开发者能够创建功能丰富的、交互性强的用户界面。这个“ExtJS3.3中文API.CHM”文档...
ExtJS 是一个流行的JavaScript框架,主要用于构建富客户端的Web应用程序。它提供了丰富的组件库、数据管理功能以及强大的用户界面(UI)元素。在标题和描述中提到的“Extjs4小图标”指的是ExtJS 4版本中使用的一系列...
ExtJS 是一个强大的JavaScript前端框架,用于构建富客户端应用程序。版本4.1是该框架的一个重要里程碑,提供了许多新功能和改进。对于初学者来说,理解并掌握ExtJS 4.1的基础和特性是非常有益的。 标题中的"Extjs...
extjsapi,extjs文档,api手岫
适合ExtJs开发人员extjs技术上手以及深入
一个extjs的OA项目 extjs-OA extjs-oaextjs-OA extjs-oa
ExtJS是一款功能强大的JavaScript前端框架,它为开发者提供了构建富客户端Web应用的工具。这款框架以其丰富的组件库、可定制的界面和强大的数据绑定机制而闻名。标题中的"ExtJS经典皮肤集合"指的是该框架中包含的一...
EXTJS 是一个强大的JavaScript前端框架,它主要用于构建富客户端应用,提供丰富的用户界面组件和灵活的可定制性。EXTJS 的核心在于其组件化的架构,允许开发者构建复杂的UI布局和功能丰富的应用程序。以下是对EXTJS...
JBPM4 SSH EXTJS JBPM SSH EXTJS JBPM4 SSH EXTJS JBPM SSH EXTJS JBPM4 SSH EXTJS JBPM SSH EXTJS JBPM4 SSH EXTJS JBPM SSH EXTJS 希望对大家有帮助。