【问题标题】:java.lang.IllegalStateException: Cannot forward. Response already committed [duplicate]java.lang.IllegalStateException:无法转发。响应已经提交[重复]
【发布时间】:2016-03-08 22:42:27
【问题描述】:

当某些情况发生时,我想重定向到过滤器中的 logOut url。

我尝试了requestDispatchersendRedirectforward 方法...但出现此错误。我已经评论了 sendredirect 代码。

if(){
    res.setHeader("fsd", "FAILURE");
    res.sendError(HttpServletResponse.SC_FORBIDDEN);
    /*res.sendRedirect("/searchReleaseLockLogout");*/                    
    req.getRequestDispatcher("/searchReleaseLockLogout").forward(req, res);
    return;
}

【问题讨论】:

  • 上述问题的任何解决方案??

标签: java security servlet-filters servlet-3.0


【解决方案1】:

在响应上调用 sendError 时,响应已经提交。检查文档here。改用setStatus

改变,

 res.sendError(HttpServletResponse.SC_FORBIDDEN);

 res.setStatus(HttpServletResponse.SC_FORBIDDEN);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-18
    • 2014-05-09
    • 2016-06-22
    • 2021-08-09
    • 2013-09-15
    • 2014-04-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多