Servlet では 入出力のリソースファイルをどこに置くのがいいのか問題

0
1141
views

Servlet で入出力のリソースをどこに置くのがいいのか。たくさん方法はありますが、例えば、PDF の作成・出力を例にとってパスの設定をしてみます。

// テンプレートの読み込み
ServletContext application = this.getServletContext();
String jasperTemplatePath = application.getRealPath("jasper/invoice.jasper");
File jasperFile = new File(jasperTemplatePath);
// 帳票レイアウトのロード
JasperReport jasperReport = (JasperReport) JRLoader.loadObject(jasperFile.getAbsoluteFile());

ServletContext#getServletContext() で取得できるのは、サーバのリソーススペースです。例えば、this.getServletContext().getRealPath(“jasper/invoice.jasper”) で取得できるのは、実際には、localhost では次のようなパスです。

C:\Users\{ユーザ名}\{Eclipseのワークスペース}\.metadata\.plugins\org.eclipse.wst.server.core\tmp{数値}\wtpwebapps\{プロジェクト名}