java.lang.IllegalStateExecption: getOutputStream() has already been called for this response谢了!多多指教
解决方案 »
- 下拉列表自动跳转问题
- spring为什么没注入啊???在线等答案啊,求救啊
- 怎么快速创建一个flash?
- 请问这需要学什么?
- 请教javascript问题!!时间的验证!!
- javascript 字符串转换为正数精度丢失?
- 用eclipse+MyEclipse开发的WEB系统怎么运行?
- 请教sc.getRequestDispatcher("/servlet/schedule.bottom" ).forward( req, res )什么意思
- web登录验证
- base64在java里重新转成图片,结果图片打不开
- 从svn上下载的web程序如何发布到tomacat下
- 关于JSP传递中文乱码问题,代码感觉没错,不知道为什么就是显示不了
没有妥善处理好的原因。
正在装载数据…… 具体的原因就是
在tomcat中jsp编译成servlet之后在函数_jspService(HttpServletRequest request, HttpServletResponse response)的最后
有一段这样的代码
finally ... {
if (_jspxFactory != null ) _jspxFactory.releasePageContext(_jspx_page_context);
}
这里是在释放在jsp中使用的对象,会调用response.getWriter(),因为这个方法是和
response.getOutputStream()相冲突的!所以会出现以上这个异常。
然后当然是要提出解决的办法,其实挺简单的(并不是和某些朋友说的那样 --
将jsp内的所有空格和回车符号所有都删除掉),
在使用完输出流以后调用以下两行代码即可:
out.clear();
out = pageContext.pushBody();参考http://blog.csdn.net/wienne0417/archive/2009/06/22/4288078.aspx
但 servlet还继续读取page1页面里的内容 当此时因为out被关闭掉 就会报出上面的错误
其实这个时候打印出jsp的内置对象exception查看就会发现具体的错误
如果在jsp中嵌入<% %>类似的java代码,在这段代码中出现EXception 就会报出getOutputStream() has already been called for this response错误。
从这次发现错误发现 在不同的环境下报出的同一个错误 会有不同的解释 http://hi.baidu.com/luxuetao/blog/item/4135c717c010740cc93d6d83.html
你就把你的错误放到google中,点击一下鼠标,答案成把成把的。