2012-03-27 11 views
2

私はjettyとtomcatの両方を使ってローカルに開発しています。静的リソースを提供するmvcリソースを取得しようとしています

私のイメージは、CSS、JavaScriptのファイルがある中:

/src/main/webapp//assets/images 
/src/main/webapp//assets/css 
/src/main/webapp//assets/images/ 

私の春の設定ファイルがあります:私は

<mvc:resources mapping="/assets/**" location="/" /> 

をフォルダ資産を持っている

/src/main/webapp/assets 

マッピングと場所の両方が意味することについて混乱していますか?

www.example.com/assets/ 

場所は何をするのか:

私はマッピングは春だけ試してみて、それはのようなパターンでURLを持っている場合は、静的ファイルを提供することを意味しますと思いますか?

私のHTMLは、現在持っている:

src="/assets/images/logo.gif" 

私は場所値で遊んで試してみた、と私はいくつかの理由のために画像をレンダリングするために得ることはありません。

誰かが私のためにこれをクリアすることはできますか?

+0

あなたはhttp://static.springsource.org/spring/docs/current/spring-framework-reference/html/mvc.htmlの16.14.5点を読んでいますか? – madth3

答えて

5

プロジェクト構造が/src/main/webapp/assets/imagesを持っている場合は、あなたが使用したい:あなたのJSPの参照ファイルで

<mvc:resources mapping="/assets/**" location="/assets/" /> 

、その後を

src="${pageContext.request.contextPath}/assets/images/logo.gif" 

/src/main/webapp/images|css|jsようなプロジェクト構造を持っているために、そのがより一般的とし、

<mvc:resources mapping="/assets/**" location="/" /> 

しかし、 ping URLとして${pageContext.request.contextPath}/assets/images/logo.gif

+0

contextPathは何ですか?私はできるだけ画像を相対的に保つことを望んでいたからです。 (例えば、CDNから提供されているとします。 – Blankman

+0

)Tomcatなどで実行している場合、contextPathはルートパス(通常app/war名)です(しかし、仮想で実行している場合は空になることがあります – nickdos

+0

よくあるのは、mywebsite.example.comのカスタムカスタムドメイン(何千ものドメイン)またはサブドメイン – Blankman

関連する問題