2016-07-14 36 views
-1

发送JSON我写这个servlet:通过AJAX请求和servlet的我回报他们从servlet的

protected void doPost(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 

    response.setContentType("application/json"); 

    BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream())); 
    String json = ""; 
    if(br != null){ 
     json = br.readLine(); 
    } 

    PrintWriter out = response.getWriter(); 

    out.write(json); 
    out.flush(); 
} 

发送数据。 的问题是,当我试图让我返回内部的servlet创建一个JSONObject给了我错误500

,让我这个错误代码:

protected void doPost(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 




    response.setContentType("application/json"); 

    BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream())); 

    JSONObject json = new JSONObject(); 

    json.put("name", "federico"); 

    PrintWriter out = response.getWriter(); 

    out.print(json); 
    out.flush(); 
} 

我requestAjax是:

$.ajax({ 
       url: "ValidServlet", 
       type: 'POST', 
       data : JSON.stringify(submitFormData), 
       success: function (data) { 
        alert(data.name); 
       }, 
       error: function (data) { 
        alert('error'); 
       } 
      }); 

我的错误是:

Failed to load resource: the server responded with a status of 500 (Internal Server Error) (17:33:34:492 | error, network)at http://localhost:8080/ProgettoProsa/ValidServlet> 

也许我wron g返回所以json?

帮我找出我失败的地方。

谢谢大家。

+0

能否请您指定要接收,以及你发送请求的错误? –

回答

0

试试这个代码与HTTP发送JSON数据:

 
    package com.nl.services.ws.sincronizacao;

import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.google.gson.Gson; @WebServlet(value = "/TestGsonHttp") public class TestGsonHttp extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // Your class MyJson m = new MyJson(); m.setName("frederico"); Gson g = new Gson(); String jsonResult = g.toJson(m); PrintWriter writer = resp.getWriter(); writer.print(jsonResult); writer.flush(); writer.close(); } class MyJson { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } } }

+0

是的,现在它的工作非常感谢 –