永发信息网

java 里面怎么处理out.clear();out=pageContext.pushBody();

答案:4  悬赏:60  手机版
解决时间 2021-11-14 09:59
  • 提问者网友:精神病院里
  • 2021-11-14 04:18
java 里面怎么处理out.clear();out=pageContext.pushBody();
最佳答案
  • 五星知识达人网友:大漠
  • 2021-11-14 04:51
我前几天 刚刚遇到这个问题
原因是 response.getOutputStream()和response.getWrite()这里两个方法
只能用一个 如果两个一起使用就是报这个异常

我不知道你是不是用servlet写的代码

但经常的原因之一就是 jsp里面的代码都是默认 是jspWriter输出的 他输出后 是放在response里面的getWrite流里面 这里就调用response.getWriter()了 然后你其他地方用了response.getOutputStream()就会爆这个异常
你看看你的代码 是不是哪里把这个两个流都用了追问response.getOutputStream()我的后台只写了这一个流,没用别的。
如果我将导出的代码写在JSP里面,在关闭流的后面加上
out.clear();
out=pageContext.pushBody();
就可以解决这个问题,但是我不想写在JSP里面,破坏整天结构。追答你如果用了jsp jsp实际就是servlet jsp他是jspWriter输出的 JspWriter输出到 response.getWrite()中 就等于调用了getWriter了 OK?
所以你就不能再用 response.getOUtputStream了
你又不想破坏jsp的结果 你就在后台不要用outPUTStream了
全部回答
  • 1楼网友:零点过十分
  • 2021-11-14 07:51
解决了吗 我的也是
  • 2楼网友:琴狂剑也妄
  • 2021-11-14 07:01
response.reset()加上这一句就可以了追问response.reset() 这个加在什么地方啊,我加载
ouputStream.flush();
ouputStream.close();
前面和后面,还是报错追答写在开启IO流语句的前面追问写在IO的前面 就出现乱码的界面,导出功能就失效了
getOutputStream() has already been called for this response
这个异常功能还用,但是后台报异常。我不想把导出的代码写在jsp里面那样就破坏结构了,还有其他好的办法吗,谢谢。
  • 3楼网友:逐風
  • 2021-11-14 06:05
out是jsp内置对象,第二句重复赋值,用一个就行了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯