Do you see the same behavior if you make a static .html page containing a
hard-coded JSON response and point your browser client at that URL?

On Wed, Apr 16, 2008 at 12:25 PM, Danilo Luiz Rheinheimer <
[EMAIL PROTECTED]> wrote:

> Jim,
>
>  Thanks for your help.
>
> I am not setting the content-length on my servlet
> code.
> But if I see the response headers (using firebug) I
> have this result :
>
> Content-Length: 4332
> Content-Type: text/html
>
> But another tool I have show me the page size as 4276.
>
> If I print the size of my response with :
>
> s.getBytes().length
>
> (where s is my response, see code on previous message)
>
> I get the value 4276.
> So I think you can be right on the cause of the
> problem.
>
> But how is the right way of set the content lenght ?
>
> I try this :
>
> // other data headers
> response.setDateHeader ("Expires", 0);
> response.setContentType("text/html");
> String s = ... // creates JSON String
> response.setContentLength(s.getBytes().length);
> PrintWriter w = response.getWriter();
> w.write(s);
> response.setStatus(HttpServletResponse.SC_OK);
>
> The problem still happens.
>
> Then I try this :
>
> byte[] data = s.getBytes();
>
> response.setContentLength(data.length);
>
> ServletOutputStream ouputStream =
> response.getOutputStream();
> ouputStream.write(data, 0, data.length);
> ouputStream.flush();
> ouputStream.close();
> response.setStatus(HttpServletResponse.SC_OK);
>
> But still no solution.
> The response header keep showing Content-Length=4332.
>
> How I can set the Content-Length in a reliable way ?
> From where this 4332 value comes from ?
>
> Danilo.
>
> --- Jim Cox <[EMAIL PROTECTED]> wrote:
>
> > Does the client get a "Content-length" header, and
> > if so does the actual
> > length of the response body match? If not it has to
> > either timeout or wait
> > for the server to close the connection.
> >
> > On Wed, Apr 16, 2008 at 11:33 AM, Danilo Luiz
> > Rheinheimer <
> > [EMAIL PROTECTED]> wrote:
> >
> > > Hi,
> > >
> > >  I have a Java application running on a Tomcat
> > server
> > > (last version of the 5.5 serie). Java version is
> > 6.
> > >  I have a servlet inside this application who
> > returns
> > > json to the browser (if you do not know json it is
> > > just a text).
> > >  This process it taking a very long time,
> > something
> > > like  10 seconds.
> > >  I put some simple debug code inside my servlet to
> > > show how much time the servlet takes to process
> > it.
> > > The time is short like 0.5 seconds.
> > >  Still to the browser it takes 10 seconds !
> > >  If I type the servlet url on the browser I can
> > see
> > > it returns the result fast (the json shows on the
> > > browser screen after 0.5 seconds).
> > >  But it do not release the http connection to the
> > > server. It keeps the message 'receiving data from
> > ...'
> > > on the botton of the browser for almost 10
> > seconds.
> > >  There are not a big load on the server at the
> > moment
> > > of this tests. In fact it is only me.
> > >
> > >  The resumed servlet code is something like this :
> > >
> > >
> > response.setHeader("Cache-Control","no-cache");
> > >        response.setHeader("Pragma","no-cache");
> > >        response.setDateHeader ("Expires", -1);
> > >
> > response.setHeader("Cache-Control","no-store");
> > >        response.setDateHeader ("Expires", 0);
> > >
> > >        response.setContentType("text/html");
> > >
> > >        String s = ... // creates JSON String
> > >        PrintWriter w = response.getWriter();
> > >        w.write(s);
> > >
> > >  As you can see very standard I think.
> > >  I have the no cache headers because the json is
> > > generated at every time and can not be cahed.
> > >
> > >  Someone has any idea of what the problem is ?
> > >
> > > Danilo.
> > >
> > >
> > >
> > >
> >
>
> ____________________________________________________________________________________
> > > Be a better friend, newshound, and
> > > know-it-all with Yahoo! Mobile.  Try it now.
> > >
> >
> http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
> > >
> > >
> >
> ---------------------------------------------------------------------
> > > To start a new topic, e-mail:
> > users@tomcat.apache.org
> > > To unsubscribe, e-mail:
> > [EMAIL PROTECTED]
> > > For additional commands, e-mail:
> > [EMAIL PROTECTED]
> > >
> > >
> >
>
>
>
>
>  
> ____________________________________________________________________________________
> Be a better friend, newshound, and
> know-it-all with Yahoo! Mobile.  Try it now.
> http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to