2

Tomcat 7 は、WAR ファイルの外部に静的コンテンツを保存できる新しいエイリアスを提供します。http://www.developer.com/java/web/article.php/3904871/Top-7-Features-in-Tomcat-7-The-New-and-the-Improvedでそれを行う方法をいくつか見つけました.htmパート 4。

しかし、それは私にはうまくいきません。

2 つのコンテキスト XML ファイルがあります。1 つはアプリケーション (admin.xml) 用で、もう 1 つは静的リソース (uploads.xml) 用です。

このチュートリアルで述べたようにすべてを実行しましたが、Tomcat は WAR ファイルの外側に静的リソースを認識しません。

私の静的リソース構造:

/home/user/admin-images/-
                   -234bF5_image/image.jpg
                   -572d44_otherImage/otherImage.jpg
                   -12A4uR_otherImage/otherImage.jpg

admin.xml:

<Context path="/admin" 
        docBase="path/to/application/target" reloadable="false">
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <Manager pathname="admin" />
</Context>

uploads.xml:

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/admin" aliases="/images=/home/user/admin-images">

</Context>

コンテキスト展開後、イメージに到達できません:

http://localhost:8080/admin/images/234bF5_image/image.jpg

これに到達しようとすると、画像を表示できないというエラーが表示されます。

4

2 に答える 2

5

私はそれをうまく動かすことができませんでした。しかし、Webアプリケーションの外部で静止画像を提供する別の解決策を見つけました。

Tomcat構成内のserver.xmlでコンテキストを定義する必要があります。

server.xml(これは「Host」タグに入れる必要があります):

...
...
<Host>
    ...
    ...
    <Context docBase="/home/user/admin-images/" path="/images" />
    ...
    ...
</Host>
...
...

そうすれば、次のような静止画像にアクセスできます:[http:// localhost:8080 / admin / images / 234bF5_image / image.jpg]

私の新しい質問は次のようになります: 静的リソースを共有するこの方法は安全ですか?不利な点はありますか?

于 2012-11-16T07:12:39.923 に答える
1

これで動作するようにエイリアスを取得することができました:

<?xml version="1.0" encoding="UTF-8"?>
<Context aliases="/the_alias_path=/path/to/a/file/or/folder/on/your/disk,another_alias_path=/path/to/another/file/or/folder/on/your/disk" antiJARLocking="true" path="/your/app/context"/>
于 2013-11-28T09:32:56.853 に答える