package com.zhushen.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;
public class AuthorizationFilter implements Filter {
@Override
public void destroy() {
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
/**
* 检查用户是否登录,如果用户没有登录,那么跳转到登录页面
* 如果用户登录,那么进入下一个Filter
* 难点:要将login.jsp和login.do(servlet)放过去
*/
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req=(HttpServletRequest)request;
HttpServletResponse resp=(HttpServletResponse)response;
Object obj=req.getSession().getAttribute("username");
if(obj==null){//session中没有用户信息
String path=req.getRequestURI().substring(req.getRequestURI().lastIndexOf("/"+1));
//将login.jsp和login.do(servlet)放过去
if(!("login.jsp".equals(path)||"login.do".equals(path))){
resp.sendRedirect("login.jsp");
return;
}
}
chain.doFilter(request, response);
}
}
登录过滤器
最新推荐文章于 2022-06-12 00:41:07 发布