2020.05.01 Filter过滤器

package com.aojie.web.Filter;

import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.io.IOException;

/**
* @author aojie
* @fuction
* @create 2020-05-01 21:26
*/
@WebFilter("/*")
public class LoginFilter implements Filter {
public void destroy() {
}

public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {

//强制转换
HttpServletRequest request=(HttpServletRequest) req;
//获取请求资源的请求路径
String requestURI = request.getRequestURI();
//判断是否是登录相关的资源
if (requestURI.contains("/login.jsp")||requestURI.contains("/loginServlet")||
requestURI.contains("/css/")||requestURI.contains("/js/")||
requestURI.contains("/fonts/")||requestURI.contains("/checkCodeServlet")) {
//证明用户就是想登录
chain.doFilter(req, resp);
}else{
HttpSession session = request.getSession();
Object login = session.getAttribute("login");
if (login != null) {
chain.doFilter(req, resp);
}else{
//没有登录
request.setAttribute("login_msg","您尚未登录,请先去登录");
request.getRequestDispatcher("/login.jsp").forward(request,resp);
}

}
}

public void init(FilterConfig config) throws ServletException {

}

}

猜你喜欢

转载自www.cnblogs.com/aojie/p/12815132.html