I am having problems using Gzip compression and JQuery together. It seems that it may be caused by the way I am sending JSON responses in my Struts Actions. I use the next code to send my JSON objects back.
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); } } }
Is there a better way of sending JSON in a Java web application?
Instead of
try this
because this will avoid creating a string and the JSONObject will directly write the bytes to the Writer object