@WebFilter("/*")
public class LoginFilter implements Filter {
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
//强制转换
HttpServletRequest request = (HttpServletRequest) req;
//获取资源请求路径
String uri = request.getRequestURI();
//判断是否包含登陆的相关资源
if(uri.contains("/login.jsp")||uri.contains("/loginServlet")||uri.contains("/css/")||uri.contains("/js/")||uri.contains("/checkCodeServlet")){
//包含,用户就是想登录,放行
chain.doFilter(req, resp);
}else{
//不包含,需要验证用户是否登陆登录
//3.从session中获取user
Object user = request.getSession().getAttribute("user");
if (user!=null){
//登陆了,放行
chain.doFilter(req, resp);
}else{
//没有登陆,跳转页面
request.setAttribute("login_msg","您尚未登录,请登录");
request.getRequestDispatcher("/login.jsp").forward(request,resp);
}
}
}
public void init(FilterConfig config) throws ServletException {
}
public void destroy() {
}
}