package com.util;
import java.io.IOException;
import java.util.Map;
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 SessionFilter implements Filter
{
public void init(FilterConfig filterConfig) throws ServletException
{
}
@SuppressWarnings("unchecked")
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException
{
HttpServletRequest req = (HttpServletRequest)request;
HttpServletResponse res = (HttpServletResponse)response;
HttpSession session = req.getSession(true);
String url = req.getRequestURI();
if (url.endsWith(".action"))
{
if (url.endsWith("login.action"))
{
chain.doFilter(request, response);
return;
}
//从session里取的用户名信息
Map customerUser = (Map)session.getAttribute("customerUser");
Map whomeUser = (Map)session.getAttribute("whomeUser");
if (customerUser != null && !customerUser.isEmpty())
{
//已经登陆,继续此次请求
chain.doFilter(request, response);
return;
}
else if (whomeUser != null && !whomeUser.isEmpty())
{
//已经登陆,继续此次请求
chain.doFilter(request, response);
return;
}
else
{
//跳转到登陆页面
res.sendRedirect(req.getContextPath());
return;
}
}
else
{
chain.doFilter(request, response);
return;
}
}
public void destroy()
{
}
}