我的Webfilter代码如下所示:
@WebFilter(
urlPatterns={"/search.jsp"},
dispatcherTypes= {
DispatcherType.FORWARD,
DispatcherType.REQUEST
},
filterName="LoggingFilter",
description="Checks if user already logged in"
)
public class FilterAlreadyLoggedUser implements Filter {
public FilterAlreadyLoggedUser() {}
public void destroy() {}
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpServletResponse response = (HttpServletResponse) servletResponse;
HttpSession session = request.getSession(false);
if(session.getAttribute("customer") != null){ //If user is already logged in
response.sendRedirect(request.getContextPath() + "/alreadyLoggedIn.jsp");
} else{
chain.doFilter(servletRequest, servletResponse);
}
}
public void init(FilterConfig fConfig) throws ServletException {}
}
我将此过滤器称为bevor,客户应该看到包含所有相关内容的search.jsp。
因此,使用此过滤器,我想检查客户是否已登录。 但它没有工作。 有人可以告诉我为什么吗?
由于