`

jQuery easyui Session 超时返回登录页面

 
阅读更多
最近项目使用jQuery easyui 开发,session超时、没有登录直接访问页面需要返回登录页面特殊处理。

说明:测试设置失效时间为1分钟,登录成功后1分钟去点击操作处罚事件,执行①连接到com.lactec.framework.ac.filter.AuthFilter这个类

        判断执行的action操作。判断session是否为空,超时就返回,我用的是ajax请求:如果是ajax请求响应头会有,x-requested-with;

设置:rep.setHeader("sessionstatus", "timeout");//在响应头设置session状态
         rep.getWriter().print("登录超时!"); //打印一个返回值,没这一行,在tabs页中无法跳出(导航栏能跳出),具体原因不明

前台部分通过  XMLHttpRequest.getResponseHeader("sessionstatus"); //通过XMLHttpRequest取得响应头,给出提示 。



对于项目上线后,会涉及多个服务器,所以跳转要根据服务器IP去跳转问题,解决方案:window.location.host





代码部分:① web.XML部分配置代码

<!-- filter 权限认证 只对amf请求过滤 -->
<filter>
<filter-name>authFilter</filter-name>
<filter-class>com.lactec.framework.ac.filter.AuthFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>authFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<!-- session失效时间是30分钟 -->
<session-config>
<session-timeout>30</session-timeout>
</session-config>

               ②java代码

  public class AuthFilter extends BaseAction implements Filter {      

public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {
//登陆判断 如果是/crm_web/loginAction.do 登录跳转
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse rep = (HttpServletResponse) response;
//System.out.println(req.getRequestURI());
String uri = req.getRequestURI();//获取登录的action
if(uri.indexOf("loginAction")>=0){
chain.doFilter(request, response);//跳转页面

}else{
//获取登录用户的Session --基础权限检查,用户没有登陆,被拦截或者session超时请重新登录
if(Utils.isNull(req.getSession()) || Utils.isNull(req.getSession().getAttribute("user")) ){
//如果是ajax请求响应头会有,x-requested-with;
if (req.getHeader("x-requested-with") != null && req.getHeader("x-requested-with").equalsIgnoreCase("XMLHttpRequest"))
{
rep.setHeader("sessionstatus", "timeout");//在响应头设置session状态
rep.getWriter().print("登录超时!"); //打印一个返回值,没这一行,在tabs页中无法跳出(导航栏能跳出),具体原因不明
}
return;
}else {
chain.doFilter(request, response);//跳转页面

}
}

}
}


③ JS代码部分
$.ajaxSetup({
error: function (XMLHttpRequest, textStatus, errorThrown){
if(XMLHttpRequest.status==403){
$.messager.alert(‘我的消息‘, ‘您没有权限访问此资源或进行此操作!‘, ‘success‘);
return false;
}
},
complete:function(XMLHttpRequest,textStatus){
var sessionstatus=XMLHttpRequest.getResponseHeader("sessionstatus"); //通过XMLHttpRequest取得响应头,sessionstatus,
if(sessionstatus==‘timeout‘){
//如果超时就处理 ,指定要跳转的页面
var top = getTopWinow(); //获取当前页面的顶层窗口对象
$.messager.alert(‘我的消息‘, ‘登录超时-请重新登录!‘, ‘info‘);
top.location.href = "http://"+window.location.host+"/crm_web/login_new.html"; //跳转到登陆页面
}
}
});

/**
* 在页面中任何嵌套层次的窗口中获取顶层窗口
* @return 当前页面的顶层窗口对象
*/
function getTopWinow(){
var p = window;
while(p != p.parent){
p = p.parent;
}
return p;
}





如有疑问可以直接给我回复。。。。。

jQuery easyui Session 超时返回登录页面

标签:class   style   log   com   代码   使用   http   java   si  

原文:http://www.cnblogs.com/tb176/p/4476415.html

转自:http://www.bubuko.com/infodetail-783058.html
分享到:
评论

相关推荐

    jquery easyui datagrid demo

    jQuery EasyUI 是一个基于 jQuery 的前端框架,它封装了一系列的 jQuery 插件,为开发者提供了构建用户界面的简便方法。这个“jquery easyui datagrid demo”包含了一些关于如何使用 jQuery EasyUI 中 Datagrid 组件...

    jquery easyui 帮助文档

    jQuery EasyUI 是一个基于 jQuery 的前端框架,它简化了网页用户界面开发,提供了丰富的组件和功能。这个“jQuery EasyUI 帮助文档”包含了全面的API参考和使用指南,对于开发者来说是极具价值的资源。 jQuery ...

    jqueryEasyUI

    jQuery EasyUI 适用于企业级后台管理系统、数据展示界面、Web 应用的前端开发。它的组件丰富,样式统一,可以快速构建出具有专业外观的管理界面。 ### 5. 注意事项 - 考虑到性能,不要在不需要的地方过度使用组件...

    初试JqueryEasyUI(附Demo)

    **jQuery EasyUI 知识点详解** jQuery EasyUI 是一个基于 ...总的来说,jQuery EasyUI 降低了前端开发的门槛,通过简单易用的 API 实现复杂界面的构建。通过实践和探索这个 Demo,你将能更好地理解和运用这一框架。

    jQuery EasyUI的api

    jQuery EasyUI 是一个基于 jQuery 的前端框架,它简化了HTML用户界面的开发,提供了一系列易于使用的组件,如对话框、表格、菜单、按钮等。EasyUI 的API是开发者理解和使用这个框架的关键。以下是对jQuery EasyUI ...

    用 jquery easyui 做的一组界面原型

    《使用jQuery EasyUI构建界面原型的实践与指南》 jQuery EasyUI是一款基于jQuery的轻量级前端框架,它提供了一套完整的UI组件,用于快速构建功能丰富的Web应用界面。在这个项目中,我们利用EasyUI 1.1.1版本创建了...

    jQuery EasyUI v1.3.5官方API中文版

    jQuery EasyUI 是一款非常棒的WEB前端UI框架,很多朋友都在找jQuery EasyUI API 中文文档,本次给大家提供的就是jQuery EasyUI v1.3.5官方API中文版,有需要的拿去用吧

    jQuery EasyUI 1.9.4 chm文档

    针对jQuery EasyUI的1.9.0的在线帮助文档进行整理,生成chm文件,便于开发时或者离线对easyi控件的属性、文法、事件等内容的查看。

    jQuery EasyUI 1.5.1 版 API 中文版

    jQuery EasyUI 是一个基于 jQuery 的前端框架,它简化了网页用户界面开发,提供了一系列易于使用的组件,如对话框、表格、菜单、按钮等。版本 1.5.1 是一个重要的更新,它不仅包含了之前版本的所有功能,还进行了...

    jQuery EasyUI 参考资源合集

    jQuery EasyUI 是一个基于 jQuery 的前端开发框架,它简化了网页界面的构建,提供了一系列的 UI 组件,如对话框、表格、下拉菜单、树形结构等。这个参考资源合集包含了三个重要的文档,分别为 jQuery EasyUI 1.2 API...

    SSH+Jquery easyUI后台管理系统

    SSH+jQuery EasyUI后台管理系统是一种基于Struts2(S)、Spring(S)和Hibernate(H)三大开源框架的Web应用程序开发模式,结合jQuery EasyUI前端框架,构建出高效、简洁且具有现代感的后台管理界面。这个系统设计的...

    ssm+jqueryeasyui案例

    jQuery EasyUI则是一个基于jQuery的UI库,提供了丰富的组件和易于使用的API,用于快速构建现代、响应式的Web应用界面。 在这个"ssm+jqueryeasyui案例"中,我们可以学习如何将这三者结合,构建出功能完善的Web应用。...

    jQuery EasyUI v1.10.0.zip

    jQuery EasyUI 是一个基于 jQuery 的前端开发框架,用于快速构建用户界面。v1.10.0 是这个框架的一个特定版本,包含了一系列组件和功能,适用于网页应用的开发。在这个zip压缩包中,我们可以找到一系列文件,每个都...

    Jquery EasyUI 日历Demo

    JQuery EasyUI 是一个基于 jQuery 的轻量级前端框架,它提供了一系列的 UI 组件,如对话框、表格、树形菜单、按钮等,用于快速构建用户界面。在这个"Jquery EasyUI 日历Demo"中,我们将探讨如何利用 EasyUI 的日历...

    jquery easyui + Ztree +折线图

    在Web开发中,jQuery EasyUI、ZTree和折线图是三种常见的组件,它们分别用于构建用户界面、实现树形结构展示和数据可视化。本篇文章将深入探讨这些技术及其在实际项目中的应用。 首先,jQuery EasyUI是一个基于...

    Jqueryeasyui使用说明

    jQuery EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,也不需要对c 资源太大,传百度网盘了,...

    jQuery EasyUI EasyUI 组件范例

    jQuery EasyUI 是一个基于 jQuery 的用户界面插件集合,它提供了一套丰富的 UI 组件库,包括按钮、表单、网格、树形结构等,可以极大地简化前端开发工作,使得开发者能够更加专注于业务逻辑的实现而无需过多地关注...

    jQuery easyui 全套文件

    jQuery EasyUI 是一个基于 jQuery 的前端开发框架,它简化了网页界面的构建,提供了一系列易于使用的组件和插件,使得开发者能够快速构建出美观、功能丰富的用户界面。这个压缩包包含的是 jQuery EasyUI 的全套文件...

    jQuery EasyUI仿Extjs漂亮界面实例演示

    jQuery EasyUI是一款基于jQuery的前端开发框架,它简化了网页用户界面的设计,使得开发者能够快速构建功能丰富的Web应用。这个框架吸收了ExtJS的一些设计理念,提供了丰富的组件和精美的界面,但相比ExtJS,jQuery ...

    jQueryEasyUI1.3.6版本

    jQuery EasyUI 是一个基于 jQuery 的前端框架,它提供了一系列易于使用的组件,帮助开发者快速构建用户界面。1.3.6 版本是该框架的一个稳定版本,包含了丰富的功能和优化,旨在提高开发效率和用户体验。 在jQuery ...

Global site tag (gtag.js) - Google Analytics