Filter-登录验证,session在线过滤
public class LoginFilter implements Filter{
private String uri;
@Override
public void destroy() {
}
@Override
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) resp;
uri = request.getRequestURI();
String requestPath = uri.substring(uri.lastIndexOf("/")+1,uri.length());
if("LoginServlet".equals(requestPath) || "login.jsp".equals(requestPath)){
chain.doFilter(request, response);
}else {
HttpSession session = request.getSession();
if(session != null){
Object object = session.getAttribute("loginInfo");
if(object != null){
chain.doFilter(request,response);
}else {
uri = "/login.jsp";
}
}else {
uri = "/login.jsp";
}
request.getRequestDispatcher(uri).forward(request,response);
}
}
@Override
public void init(FilterConfig arg0) throws ServletException {
}
}