extjs基于ajax实现,因为是异步请求,所以一般的jsp session过期跳转方式不可用,但是当它session过期时会手动去在页面头信息x-requested-with中插入XMLHttpRequest值,可以利用这
点去进行exjs的session过期处理。这里提供大家一个方法:
写一个Sessionfilter过滤器,检查是否session过期,过期时间通过web.xml配置(不明白具体步骤的上百度或者google详查),
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中一个事件:
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过期跳转。
分享到:
相关推荐
以上代码片段展示了如何通过过滤器实现Session过期后的自动跳转。这种方式更加灵活,可以直接控制HTTP响应,确保用户在Session过期后能够被正确地引导回登录页面,重新验证其身份。在实际应用中,还需要考虑其他因素...
通过这种方式,EXTJS 4.1 MVC应用能够智能地处理动态加载控制器,同时优雅地处理Session过期的情况,确保用户有一个顺畅的使用体验。动态加载控制器和Session管理是构建大型、可扩展Web应用的基础,它们有助于提高...
在Web开发中,Session是服务器用来跟踪用户状态的一种机制,特别是在多用户同时访问的应用中,如EXT...这种机制确保了用户的会话安全,防止了未经授权的访问,并且能够优雅地处理Session过期的情况,提高用户体验。
然而,当用户在一定时间内没有与服务器交互,Session可能会因为过期而失效,这被称为Session超时。在AJAX(Asynchronous JavaScript and XML)请求中,如果Session超时,通常需要有合适的机制来处理这种情况,以免...
- **跳转逻辑**:在事件处理函数中实现跳转逻辑。 #### 47. 从ASP网站登录到UniGUI中 从ASP网站登录到UniGUI涉及跨平台的认证机制,需要在两个系统之间实现用户身份验证的同步。 #### 48. UniGUI数据库初始化要放...