`
ren2012r4
  • 浏览: 1630 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

解决session超时的ajax应用--servlet,jquery

 
阅读更多

问题:

  1. session超时了,客户端发出了一个ajax请求

解决思路:

  1. filter判断出ajax请求,设置一个响应头标志
  2. 客户端ajax请求要求有一个全局处理函数,获取相应标志,做出相应处理

解决办法:

  1. filer加入如下代码:
     if (request.getHeader("x-requested-with") != null  
                         && request.getHeader("x-requested-with")  
                                 .equalsIgnoreCase("XMLHttpRequest"))//如果是ajax请求响应头会有,x-requested-with;  
                 {  
                     response.setHeader("sessionstatus", "sessionOut");//在响应头设置session状态 
                     response.getWriter().print("sessionOut");
                     return;  
                 }else{
                	 
                	 response.sendRedirect(basePath+"sessionOut.jsp");
                	 return;
                 } 
     
  2. 客户端加入如下代码:
    $.ajaxSetup({   
    	    contentType:"application/x-www-form-urlencoded;charset=utf-8",   
    	    complete:function(XMLHttpRequest,textStatus){
                var sessionstatus=XMLHttpRequest.getResponseHeader("sessionstatus"); //通过XMLHttpRequest取得响应头,sessionstatus,  
                if(sessionstatus=="sessionOut"){   
    	          	window.location.replace("${basePath}/sessionOut.jsp");   
    	          }   
    		}   
    	 }); 
     
分享到:
评论

相关推荐

    Web 开发中Ajax的Session 超时处理方法

    在Java Web环境中,处理Ajax请求的Session超时通常涉及两个主要步骤:服务器端的检测和客户端的响应处理。 1. **服务器端检测**: 可以通过实现Servlet Filter或者Interceptor来监测每个请求,判断是否为Ajax请求...

    新版JSP+JQUERY+AJAX+Mysql聊天室小程序JASChatWeb1.0

    JSP+Servlet+mysql+jquery+ajax+flash(实现各浏览器播放声音) 主要文件介绍: 前端 (1)login.jsp--登陆页,设置session,还有更改了用户的登陆状态 (2)index.jsp--主要聊天页面 (3)jas.js -- jquery+控制声音flash插件...

    ajax提交session超时跳转页面使用全局的方法来处理

    此外,你可能还对其他相关的主题感兴趣,例如设置Session超时的不同方法、使用AJAX重写Session超时跳转、IIS的Session超时配置、Web开发中处理AJAX Session超时的方法,以及Java、PHP、JSP中设置Session超时的各种...

    重写 ajax 实现 session 超时跳转到登录页面实例代码

    后端过滤器负责检测并处理Session超时,前端通过监听Ajax错误事件,捕获302状态码并模拟页面跳转,确保无论用户是通过常规链接还是Ajax请求,一旦Session超时都能被正确引导到登录页面。这种做法不仅维护了用户操作...

    Ajax请求session失效该如何解决

    关键的一步是,当检测到Ajax请求时,我们不是重定向,而是通过设置响应头(`sessionstatus`)告知前端Session已超时: ```java if (req.getHeader("x-requested-with") != null && req.getHeader("x-requested-with...

    登录超时给出提示跳到登录页面(ajax、导入、导出)

    在Java Web应用中,我们可以使用Servlet的Filter接口来实现登录超时的验证。Filter的主要作用是在请求到达目标资源之前进行预处理,以及在响应返回给客户端之前进行后处理。以下是一个简单的登录过滤器示例: ```...

    纯servlet的登陆注册

    4. **会话管理**:登录成功后,可以通过设置Session来保持用户的登录状态,直到用户主动退出或会话超时。 前端部分,Bootstrap是一个流行的CSS框架,它提供了丰富的预定义样式和组件,可以快速构建响应式布局,提高...

    javaweb中的笔记

    结合jQuery或其他库可以简化Ajax编程。 十三、Web安全 了解基本的Web安全问题,如SQL注入、XSS攻击、CSRF攻击,并学习如何预防。 通过学习以上知识点,你将能全面掌握JavaWeb开发,逐步提升为大牛。记得理论与实践...

    jsp从入门到精通

    2. **AJAX与JSP**:结合jQuery或原生JavaScript实现异步更新,提升用户体验。 3. **JSP与框架集成**:学习如何将JSP与Spring MVC、Struts2等主流Web框架集成,实现更复杂的应用。 ### 六、优化与最佳实践 1. **JSP...

    JSP案例开发集锦源代码

    14. **AJAX与jQuery**:部分案例可能结合了AJAX技术,利用jQuery库进行异步数据交换,提升用户体验。 15. **部署与调试**:了解如何将JSP项目部署到Tomcat或其他应用服务器,并进行调试。 这个源代码集锦提供了一...

    IT技术文章示例

    这三者的结合通常用于构建具有文件上传功能的动态网页应用,其中jQuery负责DOM操作和事件处理,SWFUpload处理文件上传逻辑,而Servlet则在服务器端接收并处理上传的文件。 ### 2. Java与Code Generation Code ...

    飞天论坛ftbbs v2.0 JSP版

    同时,会话管理也是确保用户安全的重要环节,可能通过设置session超时和使用cookie来追踪用户状态。 再者,考虑到可扩展性和维护性,飞天论坛可能采用了MVC(Model-View-Controller)设计模式,将业务逻辑、数据...

    网上商城管理系统

    JavaScript和JQuery则用于增强页面的交互性,通过AJAX(Asynchronous JavaScript and XML)技术实现页面无刷新的数据异步更新,提升了用户体验。 数据库方面,系统选择了MySQL作为数据存储引擎。MySQL是一款开源、...

    2021年java软件工程师面试基本题.docx

    SpringMVC是一个基于Servlet的Web应用框架,它通过DispatcherServlet作为前端控制器,负责接收请求并转发到相应的处理器。在web.xml中配置DispatcherServlet,它是SpringMVC的核心组件。 2. **Spring中的注解** ...

    Java学习笔记-个人整理的

    {14.3.1}SAX应用}{206}{subsection.14.3.1} {14.4}dom4j}{207}{section.14.4} {14.5}XPath}{210}{section.14.5} {14.6}apache.commons}{211}{section.14.6} {15}sqlite3}{213}{chapter.15} {16}Web基础}{215}{...

    java开源包1

    AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类需求可以通过快速配置来开发。AutoTips基于搜索引擎Apache Lucene实现。AutoTips提供统一UI。 WAP浏览器...

    java开源包10

    AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类需求可以通过快速配置来开发。AutoTips基于搜索引擎Apache Lucene实现。AutoTips提供统一UI。 WAP浏览器...

    java开源包11

    AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类需求可以通过快速配置来开发。AutoTips基于搜索引擎Apache Lucene实现。AutoTips提供统一UI。 WAP浏览器...

    java开源包2

    AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类需求可以通过快速配置来开发。AutoTips基于搜索引擎Apache Lucene实现。AutoTips提供统一UI。 WAP浏览器...

Global site tag (gtag.js) - Google Analytics