• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:sendRedirectを利用したシステムにファイル出力機能を追加したい。)

sendRedirectを利用したシステムにファイル出力機能を追加する方法

このQ&Aのポイント
  • 現在、sendRedirectを用いてページ移動を行っているシステムに、ファイルダウンロード機能を追加したいと考えています。
  • 現在のシステムはJRE1.4.2_01とTomcat 4.1を使用しています。
  • 出力処理を行うとjava.lang.IllegalStateExceptionが発生してしまう問題があります。解決方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.2

No.1です。 言葉足らずですみません。 >JavaScriptなどを使ってクライアント側でダウンロードとページ遷移を同時に行うように作って下さい。 は、「JavaScriptを利用して、ダウンロードページを別ウィンドウで開きつつ、現在のページを遷移させてはどうですか?」という意味で書きました。 「ダウンロード後にページ移動」が必須条件であるならば無理ですが、必須でないならばこの方法でも良いと思います。 ボタンクリック→ダウンロードページを別ウィンドウでオープン→ページを移動             ↓         ファイルダウンロード(別ウィンドウ)

Monta7743
質問者

お礼

ご返答遅くなりました。 無事実装することが出来ましたので報告とお礼を致します。 本当にありがとうございました。

その他の回答 (1)

  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.1

まず、HTTPは1リクエスト・1レスポンスが基本なので >ファイルダウンロード→ページ移動 はできません。 実現するならJavaScriptなどを使ってクライアント側でダウンロードとページ遷移を同時に行うように作って下さい。 >私Javaでの開発経験がございません。職場にもJava熟練者が居りません。 Javaの前にHTTPなどWebに関する知識が不足していませんか? Javaを使いこなせた所でWebシステムは作れませんので、まずはそちらの方をどうにかした方が良いと思います。

Monta7743
質問者

補足

Bonjinさん、ご返答ありがとうございます。 こちらの返答が遅くなり申し訳ございません。 >HTTPなどWebに関する知識が不足していませんか 返す言葉がございません。その通りです。 もう少し確認させてください。 ダウンロードページからの遷移をJavaScriptで行うようにとのことですが、OutputStreamを利用してファイル送信した時点でcommitが行われるのでは無かったでしょうか? それだとまた別のページへsendRedirectする際にIllegalStateExceptionが発生しそうですが… 当初の予定  ファイルダウンロード→ページAへ遷移(sendRedirect) Bonjinさんの案  ファイルダウンロード→ページAへ遷移(JavaScript)→ページBへ遷移(sendRedirect)