1

アップロードした画像をアプリ ディレクトリの外に置くには、alternatedocroot プロパティが必要です。次のように、glassfish-web.xml 内で正しく動作しています。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app>
    <context-root>/</context-root>
    <property name="alternatedocroot_1" value="from=/uploads/* dir=c:/development/mm_uploads" description="Uploaded Images"/>
</glassfish-web-app>

その実装に関する私の問題は、このファイルをコードベースにチェックインすることです。これは、他の環境(異なるディレクトリパス)の戦争を構築するときにうまく機能しません。

domain.xml を入れようとしましたが (コードベースではなく、サーバー固有のものになると考えています)、動作させることができませんでした。ドメインの子として配置しましたが、うまくいきません。エラーはありません。うまくいきませんでした。

何か案は?domain.xml で同じプロパティ設定を使用できるはずですよね?

それが悪い習慣である場合、他の選択肢はありますか?

前もって感謝します。

4

1 に答える 1

1

私の場合、glassfish-web.xml alternatedocroot_n を機能させることができませんでした。ただし、Glassfish 管理コンソールの [仮想サーバー] --> [サーバーの追加プロパティ] を使用して domain.xml に同じエントリを入力すると、alternatedocroot_n がすぐに機能しました。(サーバーの再起動後)。参考: シンボリック リンクを使用しようとしましたが、うまくいきませんでした。

Linux 5 で実行されている Glassfish 3.1.2 を使用しています。alternatedocroot は ExtJs 4.0.7 ライブラリを指しています。

ドメイン.xml:

    <virtual-server id="server" network-listeners="http-listener-1,http-listener-2">
      <property name="alternatedocroot_1" value="from=/extjs.4.0.7/* dir=/usr/lib/js"></property>
    </virtual-server>

これは /usr/lib/js/extjs.4.0.7/... に相当します

これが誰かに役立つことを願っています..

index.jsp:

<link rel="stylesheet" type="text/css" href="/extjs.4.0.7/resources/css/ext-all.css">
<script type="text/javascript" src="/extjs.4.0.7/ext-all-debug.js"></script>
于 2012-11-02T11:20:38.827 に答える