Ticket #7555

[Seasar-user:2884]ファイルダウンロード後にIllegalStateExceptionエラー
Eröffnet am: 2005-11-24 10:43 Letztes Update: 2005-11-25 18:49

Auswertung:
Verantwortlicher:
Typ:
Status:
Geschlossen
Komponente:
(Keine)
Meilenstein:
(Keine)
Priorität:
5 - Mittel
Schweregrad:
5 - Mittel
Lösung:
Keine
Datei:
Keine

Details

ダウンロードのプログラムを下記のように実装し
ファイルのダウンロードは問題なく行えましたが、
その後の処理でIllegalStateExceptionエラーが発生して落ち
てしまいます。
調べてみたのですが、わかりませんでしたの投稿させていた
だきました。
よろしくお願いいたします。

・環境
Java 1.5.0 Update5
Tomcat 5.5.12

Seasar2 2.2.11
S2JSF 1.0.28
Myfaces 1.0.8


・ソース

static public void download(HttpServletResponse
response, String[] line, String fileName) throws
IOException{


response.setContentType("application/octet-stream;charset=Windows-31J");

response.setHeader("Content-Disposition","attachment;filename=\""+fileName+"\"");


PrintWriter out = response.getWriter();

try{
// 各行の内容を繰り返し出力
for(int i = 0; i < line.length; i++){

out.print(line[i]);
out.print(System.getProperty("line.separator"));
}
}
finally {
if(out != null){
out.close();
}
}
}


・IllegalStateExceptionエラー
ERROR
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/arte_senon].[Faces
Servlet] - サーブレット Faces Servlet のServlet.service
()が例外を投げました
java.lang.IllegalStateException: getWriter()はこのレス
ポンスに対して既に呼び出されています
at
org.apache.catalina.connector.Response.getOutputStream(Response.java:575)
at
org.apache.catalina.connector.ResponseFacade.getOutputStream(ResponseFacade.java:180)
at
org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:122)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:47)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:45)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)

Ticket-Verlauf (2/2 Historien)

2005-11-24 10:44 Aktualisiert von: manhole
  • Summary Updated
2005-11-25 18:49 Aktualisiert von: manhole
  • Ticket Close date is changed to 2005-11-25 18:49
  • Verantwortlicher Update from (Keine) to manhole
  • Status Update from Offen to Geschlossen
Kommentar
Logged In: YES
user_id=10369

web.xmlを修正し、s2filterよりも先にmyfacesのextensionsFilter
を適用することで回避できます。

修正したweb.xmlを、バージョン1.0.10から配布ファイルに同梱し
ます。

Dateianhangliste

Keine Anhänge

Bearbeiten

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Anmelden