这是我自己写过的一个登陆过滤器
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
System.out.println("=============LoginFilter============");
//将父类转成子类
HttpServletRequest request=(HttpServletRequest) req;
//javaweb_T7/LoginServlet
String uri=request.getRequestURI();
//控制登录的
HttpSession session=request.getSession();
String userName=(String) session.getAttribute("userName");
//如果没有登录就跳转
//要么你session中有东西(已经登录) ,要么你是登录的动作
if(userName!=null || uri.indexOf("LoginServlet")!=-1){
//如果登录过,就不阻拦
chain.doFilter(req, res);
}else{
request.setAttribute("msg", "请先登录后操作");
request.getRequestDispatcher("login.jsp")
.forward(request, res);
}
}
取消
评论