Filter过滤器会捕获你要进入的jsp页面再进入之前需要先进入这个过滤器:
-----------------------------------------------------------------------------------------------------------------------------
@WebFilter( "/admin/*")
public class LoginFilter implements Filter {
public void destroy() {
}
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
HttpServletRequest request=(HttpServletRequest) req;
HttpServletResponse response=(HttpServletResponse) resp;
String url=request.getRequestURI();
System.out.println("请求的URI是:"+url);
UserInfo u=(UserInfo) request.getSession().getAttribute("u");
if(u==null){
System.out.println("u为空,需要进行登录");
response.sendRedirect("../index.jsp");
}else{
System.out.println("已登录,进行下一步");
chain.doFilter(req,resp);
}
}
public void init(FilterConfig config) throws ServletException {
}
}
-----------------------------------------------------------------------------------------------------------------------------
我的web内容如下:
index.jsp页面:
如果你没有登录直接跳转到了其他的页面,过滤器会拦截,然后判断如果已经登陆了则正常跳转,如果没有登录则跳转回登陆页面。



