0

Java EE 6 プロジェクトのイメージを保存するために外部フォルダーを使用しようとしています。Glassfish 3.1.2 を使用しています。この投稿から見つけた sun-web.xml を作成しました。

Glassfish 3 - 静的サーバーからの画像の読み込み

ここにも含まれています:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD GlassFish Application Server 3.0 Servlet 3.0//EN" "http://www.sun.com/software/appserver/dtds/sun-web-app_3_0-0.dtd">
<sun-web-app>
   <property name="alternatedocroot_1" value="from=/imgs/slideshow/* dir=c:/users/jonathon/desktop/images" />
   <property name="alternatedocroot_2" value="from=/imgs/feed/* dir=c:/users/jonathon/desktop/images" />
   <property name="alternatedocroot_3" value="from=/imgs/question/* dir=c:/users/jonathon/desktop/images" />
</sun-web-app>

デスクトップに置くつもりはありませんが、サーバーで使用する前にテストしようとしています。私のページでは、この実装を使用して画像を表示します。

<div class="item">
    <h:graphicImage value="/imgs/slideshow/${imgs}" />
</div>

ただし、空白の画像しか表示されません。ディレクトリが正しいことを確認しました(既存のディレクトリがない場合、サーバーのロード時に例外が発生します)

より明確な質問は、外部の画像フォルダーを使用する適切な方法は何か、可能であれば、それらのフォルダーにどのように書き込むかということです。

4

1 に答える 1

0

パスに値が追加されfromます。画像は、たとえば でリクエストされますc:/users/jonathon/dektop/images/imgs/slideshow*。私も過去にトラブルがありました。これでうまくいくことを願っています。

このフォルダーに書き込むのに docroot は必要ありません。あなたはただ利用することができます:

String path = new StringBuilder("c:")
    .append(File.separator)
    .append("users")
    .append(File.separator)
    .append("jonathon")
    .append(File.separator)
    .append("desktop")
    .append(File.separator)
    .append("images")
    .append(File.separator)
    .append("imgs")
    .append(File.separator)
    .append("slideshow")
    .append(File.separator)
    .append("myfile.jpg")
    .toString();
File file = new File(path);
于 2013-04-19T05:53:23.647 に答える