关于extjs4 的登录拦截转向

第一步:自定义拦截器

package com.ryx.mom.web.filter;


import java.io.IOException;


import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;






public class Ajaxfilter implements  Filter{


public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub

}


public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response  = (HttpServletResponse) res;
HttpSession  session = request.getSession();
String uri = request.getRequestURI();
if(session == null||session.getAttribute("userInfo")==null){
System.out.println("==session="+session.toString());
System.out.println("==session="+session.getAttribute("userInfo"));
System.out.println("----"+uri);
System.out.println("==uri=="+uri.contains("login/login.jsp"));
//||uri.contains("desktop/index.jsp")
if(!uri.contains("login/login.jsp")){
System.out.println("--1--");
//判断ajax请求
if(request.getHeader("X-Requested-With")!=null&&request.getHeader("X-Requested-With").
equalsIgnoreCase("XMLHttpRequest")){
System.out.println("==1=1="+request.getHeader("X-Requested-With"));
response.addHeader("sesstionstatus", "timeout");
}else{
System.out.println("-1-2-");
response.sendRedirect(request.getContextPath()+"/mom/sysadmin/login/login.jsp");
}

}
System.out.println("-1-3---");
}
chain.doFilter(request, response) ;

}


public void destroy() {
// TODO Auto-generated method stub

}


}
第二步 在web.xml配置拦截器
<filter>
<filter-name>Ajaxfilter</filter-name>
<filter-class>com.ryx.mom.web.filter.Ajaxfilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Ajaxfilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
  <filter>
第三步 重写requestcomplete方法
Ext.Ajax.on('requestcomplete',checkUserSessionStatus,this);
function checkUserSessionStatus(conn,response,options){
var str = response.getResponseHeader("sesstionstatus");
if(str=='timeout'){
Ext.Msg.alert("提示","链接已超时,请重新登录!",function(btn,text){
if(btn=='yes'){
var url = "http://localhost:8080/MOM-WEB/mom/sysadmin/login/login.jsp";
window.location.href = url;
}
});

}
};


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值