java.lang.IllegalStateException异常解决

在用java做导出功能的时候,前台可以正常导出数据,但是后台总是报错java.lang.IllegalStateException,我的后台代码是这样写的
LogBean[] logBeans = LogBean.getAllLog(sqlSession, record, "ID DESC", typeList);
exportExcel(logBeans, response);//这个是执行导出excel的方法
forward = new ActionForward("/log.html");
forward.setRedirect(true); 

后来百度了一下,说需要在response.sendRedirect("")方法后加return语句即可:
原因是在程序中两次调用response.sendRedirect("")方法。我就在最后加上了return null。果然就没有再报错。
j2EE1.5帮助文档
sendRedirect
void sendRedirect(String location)
                  throws IOExceptionSends a temporary redirect response to the client using the specified redirect location URL. This method can accept relative URLs; the servlet container must convert the relative URL to an absolute URL before sending the response to the client. If the location is relative without a leading '/' the container interprets it as relative to the current request URI. If the location is relative with a leading '/' the container interprets it as relative to the servlet container root. 
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. 


Parameters:
location - the redirect location URL 
Throws: 
IOException - If an input or output exception occurs 
IllegalStateException - If the response was committed or if a partial URL is given and cannot be converted into a valid URL

猜你喜欢

转载自0609xiaohua.iteye.com/blog/1553233