在Spring 3中对JSON请求的404错误

时间:2011-10-04 21:05:22

标签: json spring jackson

我正在尝试在Spring 3中设置一个控制器来处理来自前端的AJAX请求。我看了一下这个页面,它简洁而简单地解释了它:http://blog.springsource.com/2010/01/25/ajax-simplifications-in-spring-3-0/

我能够让示例应用程序正常工作。但是,在我自己的应用程序中,当我向应该的网址发出请求时,它才会获得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"});

我的app-servlet.xml中有标签,Maven正在接收3个Jackson jar(核心,jaxrs和mapper,所有版本1.8.5)并将它们打包到webapp中。我唯一能想到的可能是Spring Security不允许访问此路径,但是应该让已经过身份验证的用户可以访问此属性: intercept-url pattern =“/ **”access =“ROLE_USER”

所以我不确定我错过了什么。

1 个答案:

答案 0 :(得分:0)

我从这篇文章中发现了问题 - No mapping found for HTTP request with URI [/WEB-INF/pages/apiForm.jsp]

如果我在servlet-mapping特殊中添加一个扩展名给DispatcherServlet,如下所示:

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

然后将扩展添加到请求映射注释:

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

事情很顺利。