2016-10-12 7 views
0

私のWEB構造で静的リソースを解決することはできません。このようなは次のようにWEB-INF

enter image description here

マイ春MVCの設定:

<mvc:resources location="/WEB-INF/static/" mapping="/static/**" /> 

そして、私のサーブレットconfigのように:

<!-- Servlet Dispatcher --> 
<servlet> 
    <servlet-name>SpringMVC</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <!-- 加载 --> 
    <init-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>classpath:spring/SpringMVC.xml</param-value> 
    </init-param> 
    <!-- 配置启动延时 --> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>SpringMVC</servlet-name> 
    <url-pattern>*.html</url-pattern> 
</servlet-mapping> 

ウェブプロジェクトが再設定できないような設定静的なresrouceを解決するが、私は '/'にURLパターンを変更する場合

<servlet-mapping> 
     <servlet-name>SpringMVC</servlet-name> 
     <url-pattern>/</url-pattern> 
    </servlet-mapping> 

ウェブはそれを解決することができます。

私は理由を知りたいとurl-patternは「/」、おかげでない場合は、静的なリソースを解決するための他の方法がある(●「◡」●)

答えて

0

あなたは接尾辞マッピング(*を使用している場合。何か)の場合、Springは最初の部分(接尾辞なし)だけを使用します。これは、あなたのurlパターン(接尾辞なし)の唯一の/索引として春に解釈されます。

、したがって、あなたは404

は、マッピングプロセスで使用されているものより良い説明のための春UrlPathHelper#getPathWithinServletマッピングのドキュメント見つけてください取得:現在のサーブレットマッピングであなたの問題を解決するには

サーブレットマッピング= "/*.html"; リクエストURIパターン= "/a.html"

+0

サーブレットをマッピング= "/*.html"に変換しようとしましたが、Tomcatの起動に失敗しました。(T_T) –

+0

エラースタックトレースを表示できますか – mhasan

+0

また、ViewResolver接頭辞と接尾辞が正しく設定されていることを確認してください。 – mhasan