質問: ### 前提・実現したいこと 現在POIでエクセルを作成しそれをPDF変換しWEBブラウザに表示するというWEBアプリを作成しております。 ### 発生している問題・エラーメッセージ PDFが更新されても過去のPDFを読み込み続けます。 PDFはエクリプスのプロジェクト/WebContent/Excelというフォルダに入っていてこれをリフレッシュすることにより新しいPDFが読み込まれます。 また、ファイルを削除しても存在しないファイルを読み込んでいるため何処かに残っているのではないかと思います...。 *--------------------------------------------------------* 例:8:00 PDF作成 → 読み込み失敗 リフレッシュ→8:00のPDFを読み込む 8:05 PDF作成 → 8:00のPDFを読み込む 8:10 PDF作成 → 8:00のPDFを読み込む 8:15 PDF作成 → 8:00のPDFを読み込む リフレッシュ→8:15のPDFを読み込む *--------------------------------------------------------* ### 該当のソースコード ``` JSP pdf ``` PDFの変換はExcelで起動時にVBAを使い変換するようにしています。 ### 試したこと キャッシュを無効にする ### 補足情報(言語/FW/ツール等のバージョンなど) Eclipse 4.3 TOMCAT 7 Excel 2013 ブラウザ IE11
回答: 以前、アップロードした画像が・・・というエントリーがありました。現象としては同じことです。 Eclipseは開発環境であり、Eclipseで開発しているときに使用しているWebContentディレクトリをそのままTomcatへ持っていくわけではありません。 Webアプリケーションのデプロイ形式であるwarファイルの形式にまとめたものをTomcat上へ持っていき動作します。 Eclipseから見えているWebContent配下にPOIで作成した一時ファイルやPDFを保存したとしても、Tomcatからは見えていません。リフレッシュした後更新されているのは、Eclipseのプラグインにより、Tomcatから見えている場所にデプロイされているからです。 Webアプリケーションの作り方として、このWebContent配下にファイル生成するということは、warファイルの内容を書き替えるということに等しく、通常しません。 POIから生成した一時ファイルやPDFを保存する先を別途定義し、それを使用します。 また、当然、Tomcat配下ではなくなるので、ダウンロードするためのロジックを別途用意します。