HttpServletResponse.sendRedirect导致输出流异常

HttpServletResponse.sendRedirect

If the response has already been committed, this method throws an IllegalStateException. After using this method, the response should be considered to be committed and should not be written to.
也就是说如果response被commit了,再sendRedirect就会报IllegalStateException错,或者是执行sendRedirect后,再往response里写东东,也报错
不知道为什么 我在捕获异常那里 一用重定向就出


java.lang.IllegalStateException
org.apache.catalina.connector.ResponseFacade.sendRedirect(ResponseFacade.java:432)
javax.servlet.http.HttpServletResponseWrapper.sendRedirect(HttpServletResponseWrapper.java:125)
bbs.bbsindexservlet.processRequest(bbsindexservlet.java:80)
bbs.bbsindexservlet.doGet(bbsindexservlet.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)


看到有这据话 我把
if(state.equals("toenter"))//禁言状态还没向好怎么处理
{
session.invalidate();
request.getRequestDispatcher("error2.jsp").forward(request,response);
}

里面的 重定向 改成了转发
就不再出 IllegalStateException

可是 我在CATCH里重定向 如果没异常发生的话 也就是不会用到sendRedirect
怎么也会发生错误呢 ?

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值