2012-06-26 14 views
5

WEB-INF/libディレクトリにjarファイルがあります。そのjarファイルの中には、META-INF/resourcesディレクトリが1つのファイル(image.jpg)であります。私は、サーブレット3.0 APIを理解するように、私は、Tomcatの7の下で私のWebアプリケーションの一部としてこれを展開するとき、私はMETA-INF/resourcesのリソースが見つかりません404を返します

http://host/context/image.jpg 

に移動し、jarファイル内からロードされた画像を見ることができるはずです。代わりに404エラーが表示されます。これは、ドキュメンテーションによれば、servlet_apiがjarファイル内からリソースをロードしていないかのようです。

私は間違っていますか?これらのリソースをロードしてWebブラウザで利用できるようにするために、tomcatに伝えるためにweb.xmlファイルに入れる必要のあるフィールドはありますか?

+0

私はStruts2をConvention/Restプラグインと共に使用していますが、サーブレット3.0のドキュメントによれば、それは問題ではありませんが、まだまったく動作しません!助けが必要です。 –

答えて

5

瓶の作り方は正しいです。 Tomcat 7にはServlet 3.0 jarが同梱されていますが、web.xmlに特にバージョン3.0であることが明記されていない限り、jarファイルからリソースが提供されることはありません。 Tomcatは、Servlet 3.0の機能を望んでいるとは考えていません。あなたのweb.xmlに

、ウェブアプリのタグは次のように起動する必要があります。

<web-app xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
    version="3.0"> 

バージョン3.0

への参照はできるだけ早くあなたがウェブアプリを指定してある注意バージョン3.0では、Servlet 3.0の機能にアクセスできます。

関連する問題