2016-03-29 9 views
0

SpringアプリケーションでREST GET呼び出しを処理するjavaScript関数があります。URLに.html、.jsonを指定せずにリクエストを処理するようにweb.xmlを設定する方法

function populateCombo(){ 
$.ajax({ 
     url: "activities.json", 
     type: "get", 
     dataType: "html" 
    }).done(function(data) { 
     console.log("data from AJAX : "+data); 
     //$('#activities').html(html); 
    }); 
} 

そして、その要求に応えるようにweb.xmlを設定しました。

<servlet-mapping> 
    <servlet-name>fitTrackerServlet</servlet-name> 
    <url-pattern>*.json</url-pattern> 
</servlet-mapping> 

しかし、すなわちactivities.json として、アヤックスにこのような何かをURLを呼び出すことなく、これと同じ結果を達成するために、とにかくがあり、

function populateCombo(){ 
$.ajax({ 
     url: "activities", 
     type: "get", 
     dataType: "html" 
    }).done(function(data) { 
     console.log("data from AJAX : "+data); 
     //$('#activities').html(html); 
    }); 
} 

私のweb.xmlが、

<servlet> 
<servlet-name>fitTrackerServlet</servlet-name> 
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
<init-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>/WEB-INF/config/servlet-config.xml</param-value> 
</init-param>  
</servlet> 

<servlet-mapping> 
    <servlet-name>fitTrackerServlet</servlet-name> 
    <url-pattern>*.html</url-pattern> 
</servlet-mapping> 
<servlet-mapping> 
    <servlet-name>fitTrackerServlet</servlet-name> 
    <url-pattern>/pdfs/**</url-pattern> 
</servlet-mapping> 
<servlet-mapping> 
    <servlet-name>fitTrackerServlet</servlet-name> 
    <url-pattern>*.json</url-pattern> 
</servlet-mapping> 
です

注:以下をすべて削除して、これを達成しようとしました。

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

しかし、それは私のJavaScriptファイルのインポートのエラーを示す

例:WARNING: No mapping found for HTTP request with URI [/FitnessTracker/resources/javaScript/jquery/jquery.js] in DispatcherServlet with name 'fitTrackerServlet'

JSPファイルには

<script type="text/javascript" src="/FitnessTracker/resources/javaScript/jquery/jquery.js"></script> 

答えて

0

、として

の使用についてのあなたの仮定を輸入しています
<servlet-mapping> 
    <servlet-name>fitTrackerServlet</servlet-name> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 

が正しいです。しかし、Springはjquery.jsが静的リソースであることを知らず、要求されたURLに対して適切なRequestMappingを見つけようとします。このタグを使用すると、静的リソースへのすべてのパスをマークするために、Springアプリケーションコンテキストで

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

を使用します。

関連する問題