1、启动类加注解:@ServletComponentScan
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bNKmsVuI-1659683381635)(C:Users10591AppDataRoamingTyporatypora-user-images1659683201575.png)]
2、创建自定义的Filter类,在类上标注要过滤的url,并实现Filter接口,重写doFilter方法;在方法中,查找session有没有对应的用户信息
package com.cxj.filter; import com.cxj.entity.Admin; import org.springframework.stereotype.Component; import javax.servlet.*; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; @Component @WebFilter(urlPatterns = {"/main.html"},filterName = "adminFilter") public class AdminFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) servletRequest; HttpServletResponse response = (HttpServletResponse) servletResponse; HttpSession session = request.getSession(); Admin admim = (Admin) session.getAttribute("admin"); if (admim == null) { response.sendRedirect("login.html"); } else { filterChain.doFilter(servletRequest, servletResponse); } } @Override public void destroy() { } }