Como receber um JSONObject?

Pessoal estou com dúvida de como eu recebo um JSONObject em um Servlet?

Eu faço esse Post para um Servlet

JSONObject jsonObj = new JSONObject(); jsonObj.put("username", username); jsonObj.put("apikey", apikey); // Create the POST object and add the parameters HttpPost httpPost = new HttpPost(url); StringEntity entity = new StringEntity(jsonObj.toString(), HTTP.UTF_8); entity.setContentType("application/json"); httpPost.setEntity(entity); HttpClient client = new DefaultHttpClient(); HttpResponse response = client.execute(httpPost);

Como eu receberia esse Post lá no Servlet?
O request.getParameter() não funciona…

Espero ajuda de alguem, obrigado pela atenção

Tenta recupera pelo objeto “HttpResponse response”. Acho que tem um método getEntity().

Valew por responder cara, olha o que eu to tentando fazer:

tenho essa Home.jsp

[code]<%@ page language=“java” contentType=“text/html; charset=ISO-8859-1”
pageEncoding=“ISO-8859-1”%>

Insert title here Testando Servlet <% out.println(""); out.println("Username:
"); out.println("Password:
"); out.println("
"); out.println(""); out.println("
"); out.println(""); %> [/code]

Tenho esse Servlet:

[code]package com;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.json.simple.JSONObject;

/**

  • Servlet implementation class Servlet
    */
    @WebServlet("/Servlet")
    public class Servlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**

    • @see HttpServlet#HttpServlet()
      */
      public Servlet() {
      super();
      // TODO Auto-generated constructor stub
      }

    /**

    • @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
      */
      protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      // TODO Auto-generated method stub
      }
      public JSONObject requestParamsToJSON(ServletRequest req) {
      JSONObject jsonObj = new JSONObject();
      Map<String,String[]> params = req.getParameterMap();
      for (Map.Entry<String,String[]> entry : params.entrySet()) {
      String v[] = entry.getValue();
      Object o = (v.length == 1) ? v[0] : v;
      jsonObj.put(entry.getKey(), o);
      }
      return jsonObj;
      }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    PrintWriter out = response.getWriter();
    out.println("");
    out.println(" TESTE “);
    out.println(”");
    JSONObject jsonObj = requestParamsToJSON(request);
    out.flush();
    out.close();
    }

}[/code]

E o outro Servlet2:

[code]package com;

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 org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.simple.JSONObject;

/**

  • Servlet implementation class Servlet2
    */
    @WebServlet("/Servlet2")
    public class Servlet2 extends HttpServlet {
    private static final long serialVersionUID = 1L;
    public Servlet2() {
    super();
    // TODO Auto-generated constructor stub
    }
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String param = request.getParameter(“username”);
    PrintWriter out = response.getWriter();
    out.println(“TESTEEEEEEEEEEEEEEEEEEEEE”);
    if(param ==“Marlon”){
    out.println(“TESTE SERVLET2”);
    String username = “Marlon”;
    String apikey = “123123123”;

     	JSONObject jsonObj = new JSONObject();
     	jsonObj.put("username", username);
     	jsonObj.put("apikey", apikey);
     	HttpClient client = new DefaultHttpClient();
     	System.out.println(jsonObj.toString());
    
     	// Create the POST object and add the parameters
     	HttpPost httpPost = new HttpPost("http://localhost:8080/infra-mon/Servlet");
     	StringEntity entity = new StringEntity(jsonObj.toString());
     	entity.setContentType("application/json");
     	httpPost.setEntity(entity);
     	
     	HttpResponse response2 = client.execute(httpPost);
     }
     out.flush();
     out.close();
    

    }
    }
    [/code]

Estou só querendo testar a comunicação entre 2 Servlets via JSON, porem não estou conseguindo, então queria ver se alguem pudesse me indicar aonde estou errando.

Obrigado desde já.