web-dev-qa-db-ja.com

Webアプリの外部のディレクトリをTOMCATのURLにマッピングする

アプリケーションがそれらの画像を提供できるように、Tomcatwebappsフォルダーの外部にある画像を含むディレクトリをマップする必要があります。

Tomcat6で実行されるJ2EEWebアプリケーションを作成しています。ユーザーはアプリケーションで画像をアップロード/削除できます。現在、これらの画像をアプリケーションのWebContentフォルダーの下のディレクトリに保存していますが、Tomcatの外部(C:/ test/imagesなど)に保存したいと考えています。

URL http://.com/images/abc.jpgにアクセスすると、ディレクトリC:/ test/imagesから画像が提供されるように、Tomcatを構成する方法を知る必要があります。

ありがとう、

22
user188218

Server.xmlの<Host>タグ内に<Context>タグを追加します。

<Context path="/images" docBase="C:/test/images/" />

ドキュメントにはhttp://localhost:8080/imagesからアクセスできます

34
Maurice Perry

私は同じ問題を抱えていましたが、解決策を見つけました。

EclipseとTomcatプラグインを使用している場合、EclipseTomcatプラグインはEclipseworkspaceディレクトリの下に別のCATALINA_BASEを作成することに注意してください。

この場所に行くと、server.xmlが見つかります。 thatserver.xmlを使用すると機能します。

私の実際のTomcatディレクトリは次のとおりです。

C:\Apache-Tomcat-7.0.62x64\Apache-Tomcat-7.0.62\conf

そして私のEclipseTomcatサーバーは以下を使用します:

C:\workspace\JSF\.metadata\.plugins\org.Eclipse.wst.server.core\tmp0\conf 

この場所からワークスペースパスとserver.xmlを使用します。

これをHostタグ内のserver.xmlに追加します。

< Context docBase="D:/personal"  path="/images" />

D:/personal1.pngがある場合は機能し、URL http://localhost:8080/images/1.pngが画像を読み込みます。

5
Brainwash

tomcat8では、次のようにPOtsResourcesをMETA-INF /context.xmlに追加することもできます。

<Context>
    <Resources allowLinking="false">
        <PostResources readOnly="false"
                       className="org.Apache.catalina.webresources.DirResourceSet"
                       base="path-to-your-local-folder"
                       webAppMount="/images"/>
    </Resources>

    ...
</Context>
4