Comment renvoyer JSON avec JAVA?

Je vais avoir des problèmes en utilisant la compression Gzip et JQuery ensemble. Il semble que cela peut être causé par la façon dont je suis l'envoi de réponses JSON dans mes jambes de suspension des Actions. J'utilise le code suivant pour envoyer mes objets JSON en arrière.

public ActionForward get(ActionMapping mapping,
    ActionForm     form,
    HttpServletRequest request,
    HttpServletResponse response) {
       JSONObject json = //Do some logic here
       RequestUtils.populateWithJSON(response, json);
       return null;             
}

public static void populateWithJSON(HttpServletResponse response,JSONObject json) {
    if(json!=null) {
        response.setContentType("text/x-json;charset=UTF-8");           
        response.setHeader("Cache-Control", "no-cache");
        try {
             response.getWriter().write(json.toString());
        } catch (IOException e) {
            throw new ApplicationException("IOException in populateWithJSON", e);
        }                               
    }
 }

Est-il un meilleur moyen d'envoyer JSON dans une application web Java?

source d'informationauteur Sergio del Amo