- オプション 1:別の展開された .war ファイルをデプロイして、それを静的コンテンツに使用することができます
あなたの場合: ..../jboss-7/standalone/deployments/が存在する必要がありますstatic.war/。
したがって、アップロードはこのディレクトリに入り、コンテンツは通常の方法で返されます。
詳細については、JBoss AS 7 で展開された war ファイル (解凍された war) をデプロイすることは可能ですかを参照してください。
BalusC が指摘したように: データがアップロードされたらすぐに、このディレクトリを再デプロイ/削除しないでください。このディレクトリの定期的なバックアップが必要です。
私の知る限り、これは構成/セットアップのみで行う唯一の可能性です。
- オプション 2: name で別の webapp を作成しますstatic.war。静的コンテンツをストリーミングするサーブレットを追加する
この方法では、以下のファイル システムにファイルをアップロード/保存する必要はありませ../deployments/ん。任意のディレクトリにすることができますが、追加のサーブレットが必要になるため、プログラムで解決できます。
単純なストリーミング サーブレットは次のようになります (ストリーミングのみ - 認証なしなど)。
public class DownloadServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request,
        HttpServletResponse response) throws ServletException, IOException {
        final File dir = new File("/var/cms/storage/");
        final String start = "/static/";
        final String relativePath = request.getRequestURI().substring(
                request.getRequestURI().indexOf(start) + start.length());
        final File file = new File(dir, relativePath);
        final String ct = URLConnection.guessContentTypeFromName(file.getName());
        response.setContentType(ct);
        final InputStream is = 
            new BufferedInputStream(new FileInputStream(file));
        try {
            final boolean closeOs = true;
            org.apache.commons.fileupload.util.Streams.copy
                    (is, response.getOutputStream(), closeOs);
        } finally {
            is.close();
        }
    }
すべての URL をこのサーブレットにマップします。
<servlet-mapping>
    <servlet-name>DownloadServlet</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>
名前static.warは/static/Web コンテキストを提供するため、コード内の URL と互換性があるはずです。