我在做登录申请。我正在加密登录jsp中的用户名和密码参数,然后我将它发送到servlet。在servlet中,我解密了用户名和密码,并发送到LoginAction页面。代码如下
if(counter < loginLimit)
{
try{
String sessionid = request.getSession(false).getId();
response.setHeader("SET-COOKIE", "JSESSIONID=" + sessionid + "; HttpOnly");
}
catch(Throwable t)
{
GenericExceptionLog.log("DPLoginActionServlet :::: getting error::"+loginId+" @ "+new java.sql.Timestamp(new java.util.Date().getTime()),"DPLoginActionServlet");
}
RequestDispatcher reqdisp=request.getRequestDispatcher(postLogin);
reqdisp.forward(request,response);
return;
}
但它给我带来了好处 java.lang.IllegalStateException:JBWEB000232:响应提交后无法转发Occured
答案 0 :(得分:0)
一般来说,你得到的错误都说:
java.lang.IllegalStateException:在提交响应后无法转发
在致电reqdisp.forward(request,response);
之前,您已将数据写入response
- 缓冲区
如果它超过缓冲区大小,则将其提交给浏览器
因此转发为时已晚。
你能做什么:
forward()
电话和forward()
向上移动