get OutputStream()has already been caled for this reponse


[size=medium]は、
http://sctom123.iteye.com/blog/139278
JEEE開発ファイルのダウンロード中です。時々見ます

 

java.lang.IllegalStateException: getOutputStream() has already been called [b]for[/b] [b]this[/b] response  

    at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:198)  

    at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:118)  

このような間違いは、問題の所在がよく分かりません。偶然の操作で、私はサービスボルトの業務ロジックのコードをtry、catchで包みます。以下の通りです


 

  ............

    e.printStackTrace();  

上記の異常消失を発見しました。RuntimeExceptionエラーのスタックが印刷されました。このRuntimeExceptionエラーは処理された後、すべて正常です。これからどうやってサーバーを処理するかという奇妙な行動を連想します。
       ネットで検索したら。
へへ。org.apaache.jasper.runtime.PageConttextImpl.release
上のスタックから見られます。javax.servlet.http.HttpServlet.serviceでエラーが発生しました。org.apage.jasper.runtime.JspFactoryImpl.release PageConttextを実行します。その後、org.apacthe.ccannector.Resonse.getWriterを呼び出します。
getWriterは、ファイルをダウンロードする際に使うレスリング.get OutputStream()と競合します。以下のdocを見ます


 


  

                                    [b]throws[/b] java.io.IOException  

    Returns a ServletOutputStream suitable [b]for[/b] writing binary data in the response. The servlet container does not encode the binary data.  

    [b][size=x-small;]Calling flush() on the ServletOutputStream commits the response.[/size][/b]

[b][size=x-small;]  [/size][/b]

        a ServletOutputStream [b]for[/b] writing binary data  

        IllegalStateException - [b]if[/b] the getWriter method has been called on [b]this[/b] response  

    See Also:  

これで。すべて分かりました。よくサーバーの開発をしていると、よくわからないサーバーエラーが発生すると思います。サーバーを再起動したらまた消えました。あなたのプログラムにuncheckedの異常が発生した可能性があります。サーバーは異常処理をしています。予約行為があります。異常処理中に時又で新たなエラーが発生する可能性があります。これによってあなたの視線をサーバーに移動しました。エラーが発生しました。私たちは往々にしてこれらの間違いに対しては仕方がない。この時、あなたのコードが間違っている行を追跡してもいいです。異常を捕獲する
javaコード
このようなコードがあります。 
finally{ 
    } 
ここでは、Jspで使用されているオブジェクトをリリースして、レスポンス.getWriterを呼び出します。 
 
jsp内のスペースとエコーマークを全部削除します。 
そして私の前のエラースタックを見ました。



    at org.apache.catalina.connector.Response.getWriter(Response.java:604)  

    at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:125)  

    at org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:186)  

    at org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:77)  

    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)  

[/size]