Servlets response.sendRedirect在Servlet筛选器中不工作
以下过滤器位于myServlets response.sendRedirect在Servlet筛选器中不工作,servlets,Servlets,以下过滤器位于myprj2中。从该prj2中,我检查会话是否不在那里,我想重定向到prj1的登录页面,该页面的url/prj1/sessionexpiry。在下面的场景中,它不会重定向到登录页面,也不会引发任何异常 public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletRes
prj2
中。从该prj2
中,我检查会话是否不在那里,我想重定向到prj1
的登录页面,该页面的url/prj1/sessionexpiry
。在下面的场景中,它不会重定向到登录页面,也不会引发任何异常
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
throws IOException, ServletException {
HttpServletResponse hsr = (HttpServletResponse) res;
HttpServletRequest hreq = (HttpServletRequest) req;
HttpSession session = hreq.getSession(false);
if (session == null) {
hsr.sendRedirect("/prj1/sessionexpiry");
return;
} else {
chain.doFilter(req, res);
}
}
任何帮助都将不胜感激您是否在注销servlet或其他地方使会话无效?否则,会话将永远不会为空
request.getSession().invalidate();
使用此选项可使会话无效,然后下次检查会话是否有效时,它将获得空值。删除
返回
语句删除返回语句后,它也不工作发生了什么?如果出现任何异常或错误,请发布。否,它不会引发任何异常。这根本不是重定向,请注意:sessionexpiry位于不同的应用程序中。您在web服务器的日志中看到了什么吗?