2011-10-04 115 views
0

我試圖在Spring 3中設置一個控制器來處理來自前端的AJAX請求。我看了一下這個頁面,它非常簡潔地解釋它:http://blog.springsource.com/2010/01/25/ajax-simplifications-in-spring-3-0/Spring 3中的JSON請求404錯誤

我能夠讓示例應用程序正常工作。然而,在我自己的應用程序中,它只是得到一個404,當我請求的網址應該是...

這裏是我的Java代碼(它現在只需要一個String參數並返回它):

@RequestMapping(value="/test", method=RequestMethod.GET) 
public @ResponseBody String test(@RequestParam String teacherId) { 

    return teacherId; 
} 

當我嘗試,並通過jQuery的方法的getJSON調用這個,我得到一個404

jQuery.getJSON("test", {teacherId:"123"}); 

我在我的應用程序-servlet.xml中的標籤,和Maven正在採取3傑克遜的罐子(核心,jaxrs和mapper,所有版本1.8.5)一個d將它們打包在webapp中。我唯一能想到的就是Spring Security不允許訪問這個路徑,但是這個屬性應該讓已認證的用戶可以訪問: intercept-url pattern =「/ **」access =「ROLE_USER」

所以我不知道我錯過了什麼。

回答

0

我想通了,從這個職位的問題 - No mapping found for HTTP request with URI [/WEB-INF/pages/apiForm.jsp]

如果我在servlet映射特殊的DispatcherServlet的,像這樣添加擴展名:

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

,然後添加擴展到請求映射註釋:

@RequestMapping(value="/test.json", method=RequestMethod.GET) 

事情工作正常。