解决session过期跳转到登陆页面并…

来源:互联网 发布:sql delete多个 编辑:程序博客网 时间:2024/05/18 18:54


package com.lz.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 com.lz.pojo.Userinfo;
import com.lz.util.DefaultElements;


public class AccessFilter implements Filter {

 public static String loginurl;
 public static String errorurl;

 
 
 public void destroy() {
  // TODO Auto-generated methodstub

 }

 
 public void doFilter(ServletRequest arg0,ServletResponse arg1,
   FilterChainarg2) throws IOException, ServletException {
  // TODO Auto-generated methodstub
  HttpServletRequest request =(HttpServletRequest) arg0;
  HttpServletResponse response =(HttpServletResponse) arg1;
 
  Userinfo user = (Userinfo)request.getSession().getAttribute("user");
 
   
  if (user == null) {
   response.sendRedirect(DefaultElements.LOGINURL);
   return;
  }
  arg2.doFilter(request,response);
 }

 public void init(FilterConfig arg0) throwsServletException {
 }

}

 

但是这样不能不能跳出iframe等框架。

可以用javaScript解决 
在你想控制跳转的页面,比如login.jsp中的

与之间加入以下代码:

<---script language="JavaScript"> 
if (window != top) 
top.location.href = location.href; 
<----/script>

 

0 0