- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ServletOutputStreamについて)
ServletOutputStreamについて
このQ&Aのポイント
- サーブレットでファイルを表示できないエラーが発生する
- JSPでのファイル表示ができない原因について
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
JSP だと、スクリプトレット以外の部分が、 空白行なども含めて、自動的に out.print() に変換されてしまっているんじゃないですか。 work ディレクトリ(TOMCATの場合)などにある、 JSP から自動生成されたサーブレットのコードなどを 確認してみてはどうでしょう。 もしそうなら、JSP ではなくサーブレットで 実装すべきです。 もうひとつ、PDFファイルはテキストとして開いても、 そこそこ読めるので、ダウンロードしたファイルが 元のファイルとどう異なるかを比較するのもよいかと 思います。
お礼
返事が遅れまして、すいません。 質問の内容がまずかったです。 実装しているのはサーブレットです。 で、この問題ですが、close()とflush()がどうもまずいようでした。 実は、このクローズした後に、まだサーブレットの処理が続いているため、イリーガルエクセプションが発生し、ファイルが壊れてしまったようです。 とりあえず、対処としてはデータをリクエストにセットして、ディスパッチのサーブレットで、改めてストリームでダウンロードするようにしました。