- 浏览: 91902 次
- 性别:
- 来自: 上海
文章分类
最新评论
对于HTTP超时的判断,我们可以通过过滤器Filter来判断。
如果页面超时,我们可以使用诸如request.forward() 之类的方法跳转到登陆页面。
但是对于Ajax请求,request.forward()就无能为力了。
并不是因为request.forward()不起作用,而是因为AJAX的原理,所以整个页面是不会做刷新操作。
(PS: request.forward()后的页面文本能够通过XMLHttpRequest.responseText获取)
于是我们需要另一种方法来进行跳转。
其中简单的方法是设置httpStatus的状态,然后ExtJs监听
JAVA
Java代码
1.if( 超时 ){
2. if("XMLHttpRequest".equals(request.getHeader("x-requested-with"))){
3. response.setStatus(401);
4. }
5.}
if( 超时 ){
if("XMLHttpRequest".equals(request.getHeader("x-requested-with"))){
response.setStatus(401);
}
}
JAVASCRIPT
Js代码
1.Ext.Ajax.on('requestcomplete',function(conn,response,options) {
2. if(response.statusText==401){
3. Ext.Msg.alert('提示', '会话超时,请重新登录!', function(){
4. window.location = 'http://localhost:8080/login.jsp';
5. });
6. }
7.});
如果页面超时,我们可以使用诸如request.forward() 之类的方法跳转到登陆页面。
但是对于Ajax请求,request.forward()就无能为力了。
并不是因为request.forward()不起作用,而是因为AJAX的原理,所以整个页面是不会做刷新操作。
(PS: request.forward()后的页面文本能够通过XMLHttpRequest.responseText获取)
于是我们需要另一种方法来进行跳转。
其中简单的方法是设置httpStatus的状态,然后ExtJs监听
JAVA
Java代码
1.if( 超时 ){
2. if("XMLHttpRequest".equals(request.getHeader("x-requested-with"))){
3. response.setStatus(401);
4. }
5.}
if( 超时 ){
if("XMLHttpRequest".equals(request.getHeader("x-requested-with"))){
response.setStatus(401);
}
}
JAVASCRIPT
Js代码
1.Ext.Ajax.on('requestcomplete',function(conn,response,options) {
2. if(response.statusText==401){
3. Ext.Msg.alert('提示', '会话超时,请重新登录!', function(){
4. window.location = 'http://localhost:8080/login.jsp';
5. });
6. }
7.});
发表评论
-
坑爹的IE quirk模式【转】
2015-07-30 17:52 0调试一个页面,ie下面页面css样式很是 ... -
在IE兼容模式下 提示JSON未定义
2015-07-30 17:34 0使用Jquery,用ajax实现了局部刷新 ... -
让IE9支持html5
2015-07-20 10:48 0让IE9支持html5 IE10以上才算是真正支持 ... -
HTTP Header 详解
2015-06-26 17:02 0] HTTP(HyperTextTrans ... -
Jquery 获取对象的几种方式介绍
2015-05-26 15:01 01、JQuery的核心的一些方法 each(callback) ... -
canvas 上svg vs canvas
2015-05-13 14:29 0Canvas和SVG是HTML5中主要的2D图形技术,前者提 ... -
在 Web 项目中应用 Apache Shiro 开源权限框架
2015-05-11 17:20 0Apache Shiro ... -
zabbix中文配置指南
2015-03-12 14:40 0zabbix中文配置指南 2012-08-06 ... -
使用FreeMarker生成静态页原理和实例
2015-03-11 16:57 0使用FreeMarker生成静态页原理和实例 Dec10 ... -
网络 工具收集
2015-02-06 16:37 0工欲善其事,必先利其器。综合应用一些工具,可以会加速你所 ... -
mongodb redis memcached的对比(网上收藏)
2014-10-14 09:32 0mongodb和memcached不 ... -
ArcGIS Server10.2新建站点不成功及解决办法
2014-09-12 15:18 16524ArcGIS Server10.2新建站点不成功及解决办 ... -
ArcGIS 10.1 for Server 扩展开发(SOE)(转载)
2014-09-12 15:09 844ArcGIS 10.1 for Server 扩展开发( ... -
合肥 公积金贷款办理流程 收藏
2014-05-23 11:13 0公积金贷款办理流程 ... -
arcgis+ios 环境 转载
2014-05-09 15:25 02.1 iOS 配置 1) Mac电脑(MacBo ... -
Apache 的 httpd.conf 详解(很实用)转载
2013-12-25 18:00 0ServerRoot “/usr/local“ ... -
GIS开源软件大全(转载)
2013-07-19 17:46 03 - F 3map:行星地球项目由3 ... -
Linux下防火墙开启相关端口及查看已开启端口
2012-08-20 19:59 1013有时候我们辛辛苦苦安装了一个服务却发现无法 ... -
win7下安装Datastage 8.5检查环境报错
2012-05-24 00:16 0win7下安装Datastage 8.5检查环境报错 分类: ... -
转载一份infoq上面文件
2012-04-26 11:24 0假如你是一名Java开发者 ...
相关推荐
7. **Ajax提交超时**:`Extjs ajax提交超时.txt`可能涉及Ajax请求的超时设置和处理。在ExtJS中,可以设置请求的timeout属性来指定超时时间,并通过监听'exception'事件来处理超时情况。 8. **改变树的默认样式**:`...
5. **提醒与通知**:EXTJS支持事件监听和触发,可以实现合同到期、审批超时等重要事件的自动提醒。 在实际部署过程中,`setup.exe`是安装程序,用户可以通过运行这个文件来安装合同管理系统。`安装说明.txt`则提供...
ExtJS使用了`Ext.Ajax`对象来处理异步请求。它封装了XMLHttpRequest对象,提供了发送GET、POST、PUT、DELETE等各种HTTP请求的方法。开发者可以通过配置参数,如URL、方法、参数、请求头、回调函数等,定制化请求...
10. **Ajax请求和响应处理**:Ext.Ajax模块提供了发送和处理Ajax请求的API,可以设置请求头、参数、超时、回调函数等。 总的来说,ExtJS 3.3中文文档是学习和掌握这个JavaScript框架的关键资源。通过阅读和实践,...
3. **状态(state)**:工作流中的任务通常处于不同的状态,如等待处理、进行中、已完成等。状态转换是工作流的核心部分,定义了任务之间的关系。 4. **转移(transition)**:状态之间的转变,通常基于预设条件或...
从初始化组件、构建表单到处理用户输入,每一步都体现了ExtJS在Web应用开发中的强大功能和灵活性。理解这些代码背后的逻辑,不仅能够帮助开发者快速搭建登录界面,还能够深入掌握ExtJS框架的使用技巧,提升前端开发...
- `timeout`: 超时时间,默认为 30 秒。 - `trackResetOnLoad`: 是否在加载后重置表单。 - **方法:** - `doAction(String/Object actionName, [Object options])`: 执行表单动作。 - `getValues([Boolean as...
总之,使用Extjs4.2进行前台导出Excel是一项实用的功能,但需要注意处理好前端的资源管理、文件命名、数据同步和错误处理等问题,以提供良好的用户体验。通过对这些细节的优化,可以避免常见的问题,使得导出功能...
- Ext.Ajax是ExtJS中的核心模块,用于处理所有与Ajax相关的操作。它提供了发送异步请求、处理响应和错误处理等功能。 - 使用`Ext.Ajax.request`方法发起Ajax请求,该方法接受一系列参数,如URL、方法(GET或POST)...
在ExtJS中,事件处理是非常重要的一个方面,它使得用户可以与页面元素进行交互。例如,通过以下代码可以为一个HTML元素绑定点击事件: ```javascript Ext.get('b').on('click', function() { // 这里是点击事件...
4. **Ajax通信**:Ext.Ajax模块提供了一套完整的AJAX请求处理机制,包括异步请求、响应处理、请求头设置、超时控制等功能,使得与服务器的数据交换变得简单。 5. **事件驱动**:事件系统是ExtJS的重要组成部分,...
通过这种方式,EXTJS 4.1 MVC应用能够智能地处理动态加载控制器,同时优雅地处理Session过期的情况,确保用户有一个顺畅的使用体验。动态加载控制器和Session管理是构建大型、可扩展Web应用的基础,它们有助于提高...
在实际项目中,你可能还需要考虑一些其他因素,例如错误处理、连接超时、心跳机制以检测断开的连接等。 此外,标签"源码"暗示我们可能需要查看和分析源代码来了解实现的具体细节。在提供的压缩包文件“chat”中,...
同时,需要在`web.xml`中配置EXTJS的静态资源路径,以使服务器能够正确处理EXTJS的CSS和JavaScript文件。 **步骤5:配置Tomcat的GZIP压缩** 为了提高性能,我们可以启用Tomcat的GZIP压缩。在Tomcat的`conf/server....
`Ext.form.Action`是ExtJS中的一个类,用于处理表单提交和加载数据的动作。它提供了多种配置选项和属性来控制表单操作的过程。 **配置项** - **success**: 执行成功后的回调函数,该函数接收两个参数:`form`(当前...
理解JsonReader的配置项,如root、idProperty等,能确保数据正确地被Store接收和处理。 8. **Ext.data.HttpProxy篇** HttpProxy是Store获取远程数据的主要方式,通过HTTP请求与服务器交互。了解如何设置URL、参数...
- ExtJS提供了强大的Ajax支持,封装了XMLHttpRequest对象,简化了异步请求的处理。 2. **Ext.Ajax类** - Ext.Ajax是ExtJS中处理Ajax请求的主要类,提供了发送GET、POST等HTTP请求的方法。 - 使用`Ext.Ajax....
此方法还支持设置超时时间、上传进度事件监听等功能,极大地增强了其灵活性和实用性。 ##### 1.2 Ext.Ajax.request提交XML数据 在某些情况下,可能需要将数据以XML格式发送到服务器。`Ext.Ajax.request`方法同样...
`Ext.data`是Extjs框架中处理数据的核心模块,它提供了一套全面的数据处理解决方案,包括数据的存储、读取、转换以及与服务器的通信。此模块定义了一系列关键组件,如Store、Reader、Proxy,它们共同协作,使得数据...