2012-05-09 40 views
0

我正在開發一個使用Spring MVC,Hiberbate和MySQL數據庫的Web應用程序。我正嘗試從客戶端向服務器發送數據,但我無法做到這一點。發送數據從客戶端到服務器在春天

詳細,
我想我的JSON數據發送到的http://本地主機:8080 /應用/測試。在我的測試控制器我想獲取來自客戶端的數據並將其寫入屏幕或將其保存到數據庫。我一直在搜索大約3天,我嘗試了很多策略來做到這一點,但我做不到。

回答

1

您必須明確告訴spring使用json解析器。 例如,以下是我的一個DispatcherServlet配置:

<bean 
    class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> 
    <property name="messageConverters"> 
     <list> 
      <ref bean="jsonConverter" /> 
     </list> 
    </property> 
</bean> 

<bean id="jsonConverter" 
    class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> 
    <property name="supportedMediaTypes" value="application/json" /> 
</bean> 

Jackson必須在您的類路徑中。

然後你寫這樣一個在您的註解控制器的方法:

@RequestMapping(value = "/test", method = RequestMethod.POST) 
public void myMethod(@RequestBody MyObject object) { 
    //... do what you want with the object 
} 

你只需要發送與匹配的MyObject的那些屬性的JSON對象,通過POST請求。

+0

POST和GET方法導致的問題:(。獲得工作正常,但是當我使用後無法找到網頁 – Tugrul

+0

你只是404?在日誌中沒有更多?也許你應該嘗試添加「@ ResponseBody「註解的方法,我不記得它是否爲void方法的強制方式,所以試試吧。 – mael

+0

有時404但是很多次405 :(我試過添加@ResponseBody註解但我沒有工作。 – Tugrul

相關問題