title: Problem with Spring 3 + JSON : HTTP status 406?
body: <p>I'm trying to get a list of Cities by sending the State name through Ajax in my SpringMVC 3.0 project. 
  For the purpose, I've used the following call (using jQuery) in my JSP:</p>
  
  <pre><code>    &lt;script type="text/javascript"&gt;
  function getCities() {
      jq(function() {
          jq.post("getCities.html",
                      {   stateSelect:  jq("#stateSelect").val()},
                          function(data){
                              jq("#cities").replaceWith('&lt;span id="cities"&gt;Testing&lt;/span&gt;');
                      });
      });
  }
  &lt;/script&gt;
  </code></pre>
  
  <p>And here's my Controller code:</p>
  
  <pre><code>@RequestMapping(value = "/getCities", method = RequestMethod.POST)
      public @ResponseBody List&lt;StateNames&gt; getCities(@RequestParam(value="stateSelect", required=true) String stateName,
                                  Model model) {
          // Delegate to service to do the actual adding
          List&lt;StateNames&gt; listStates = myService.listCityNames(stateName);
  
          // @ResponseBody will automatically convert the returned value into JSON format
          // You must have Jackson in your classpath
          return listStates;
      }
  </code></pre>
  
  <p>But I get HTTP 406 error stating the following when i run it:
  <strong>406 Not Acceptable
      The requested resource is only capable of generating content not acceptable according to the Accept headers sent in the request.</strong></p>
  
  <p>I've used Jackson in my Maven dependencies &amp; have defined  in my context file.
  I've googled extensively &amp; I guess the problem is @ResponseBody is not automatically converting my List to appropriate JSON object.</p>
  
  <p>My Firebug says:</p>
  
  <pre><code>Response Headers  
  Server  Apache-Coyote/1.1  
  Content-Type    text/html;charset=utf-8  
  Content-Length  1070  
  Date    Sat, 12 Feb 2011 13:09:44 GMT  
  
  Request Headers  
  Host    localhost:8080  
  User-Agent  Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13  
  Accept  */*  
  Accept-Language en-us,en;q=0.5  
  Accept-Encoding gzip,deflate  
  Accept-Charset  ISO-8859-1,utf-8;q=0.7,*;q=0.7  
  Keep-Alive  115  
  Connection  keep-alive  
  Content-Type    application/x-www-form-urlencoded; charset=UTF-8  
  X-Requested-With    XMLHttpRequest  
  Referer http://localhost:8080/MyApplication/  
  Content-Length  17  
  Cookie  JSESSIONID=640868A479C40792F8AB3DE118AF12E0  
  Pragma  no-cache  
  Cache-Control   no-cache 
  </code></pre>
  
  <p>Please guide me. What am i doing wrong?? HELP!!</p>