在拦截器中为session过期的请求设置一个应答状态
String head = request.getHeader("x-requested-with");//(获得extjs session过期值)
if (head != null && !(head.equalsIgnoreCase("XMLHttpRequest"))) {
if (userSession == null || (userSession.get("id")==null)) {
// response.sendError(999); //添加respone报错信息
response.addHeader("_timeout","true");
}
}
每个ajax请求都会触发requestcomplete事件,所以可以通过监听该事件来判断请求状态,放在app.js里
Ext.Ajax.on('requestcomplete',function(conn,response,options) {
if(response && response.getResponseHeader && response.getResponseHeader('_timeout')){
Ext.Msg.alert('提示', '会话超时,请重新登录!', function(){
window.location = 'http://192.168.1.10:8081/lin/login';
});
}
分享到:
相关推荐
通过这种方式,EXTJS 4.1 MVC应用能够智能地处理动态加载控制器,同时优雅地处理Session过期的情况,确保用户有一个顺畅的使用体验。动态加载控制器和Session管理是构建大型、可扩展Web应用的基础,它们有助于提高...
前端EXTJS应用中,可以利用Ajax请求的回调函数来处理session过期。在全局的Ajax配置中监听`requestcomplete`事件,检查返回的响应,如果发现session超时,则弹出提示并重定向到登录页面: ```javascript // 在app中...
因此,通常我们会采用过滤器(Filter)的方式来处理Session过期后的跳转。在`web.xml`中,我们需要配置一个名为`sessionFilter`的过滤器,指定对应的Filter类: ```xml <filter-name>sessionFilter ...
在Web开发中,Session是服务器用来跟踪用户状态的一种机制,特别是在多用户同时访问的应用中,如EXT...这种机制确保了用户的会话安全,防止了未经授权的访问,并且能够优雅地处理Session过期的情况,提高用户体验。
对于其他JavaScript库,如EXTJS,也有类似的全局配置方法,可以用来处理AJAX请求的Session超时。例如,在EXTJS中,你可以使用`Ext.Ajax.on('requestcomplete', function() {...})`来注册一个事件处理器,处理请求...
- **获取Session对象**:使用UniGUI提供的方法获取当前Session对象。 - **读取Session属性**:通过访问Session对象的属性来获取所需信息。 #### 27. UniGUIFunc之Sessions `UniGUIFunc`中与Session相关的功能主要...
默认情况下,Session在1800秒无活动后会自动销毁,但可以通过`session.setMaxInactiveInterval(int interval)`设置不同的过期时间。调用`session.invalidate()`会立即结束Session。需要注意的是,关闭浏览器并不直接...
4. **Session安全性**:保护Session安全包括使用HTTPS、避免Session劫持和固定ID,以及定期清理过期Session。 5. **数据库事务**:事务确保数据一致性,由一系列操作组成,要么全部成功,要么全部回滚。在.NET中,...