HTTP is a stateless environment.
You have no way of hanging on to the browser connection from the server.

Usually, if a user has to wait more than a few seconds for  a response from 
the server you would forward them to a page that refreshes itself every n 
seconds via a META-REFRESH tag.  Each time it refreshes, it checks the status 
on the server.




On Tuesday 16 December 2003 10:32 am, [EMAIL PROTECTED] wrote:
> Im trying to create a servlet that is able to push back to the browser
> rather than just operate a a pull mechanism.
 
> To create this, there is a piece of javascript embedded within the html
> outputted to the browser, so when additional javascript code is written in
> at a later stage calling that function, that user can be notified of events
> he is registered to.
 
> Perhaps not the way servlets were made to work but anyway!
> Unless you are able to come up with a better solution?
>  
> How do i stop the response from ending then? I have left the html open at
> the end so no /html code and I have not closed the output to the browser.
 
>       -----Original Message----- 
>       From: Ben Souther [mailto:[EMAIL PROTECTED] 
>       Sent: Tue 16/12/2003 15:32 
>       To: Tomcat Users List 
>       Cc: 
>       Subject: Re: Having problems with stored PrintWriter.
>       
>       
> 
>
>       > I am trying to store users PrintWriter and use them again at a later
>       > date
>
>       Just out of curiosity, why?
>       
>       
>       
>       
>       On Tuesday 16 December 2003 10:12 am, [EMAIL PROTECTED] wrote:
>
>       > Im having a problem with PrintWriter in a servlet.
>       >
>       > I am trying to store users PrintWriter and use them again at a later
>       > date
 to output javascript commands to the browsers at a later date. it
>       > store as a coyotewriter - [EMAIL PROTECTED] 
>       > To do this they are dumped in a hashtable. But they dont seem to work
>       > when
 i try to write output with them? Is there any way around this?? 
>       > this is the error I get but only when i include the flush() line.
>       >
>       > If anybody can help it would be most appreciated
>       >
>       > To write out to users browser - retrieves from hashtable
>       > --------------------------------------------
>       > System.out.println("Is this even working: Receivedevent!!!!!!!
>       > "+useroutputstream); PrintWriter usersout =
>       > (PrintWriter)useroutputstream.get("derrick"); usersout.println("Testing
>       > received event status"+receivedevent);
>       > usersout.print("<script type=\"text/javascript\">");
>       > usersout.print("receivedEvent('your dinner is ready');");
>       > usersout.print("</script>");
>       > //extraline
>       > usersout.flush(); -----> Exception:
>       > lbp.LBPServlet.doGet(LBPServlet.java:98)
>       >
>       > I dont know if this is also part of the problem but if i use the
>       > .flush(),
 it seems to start throwing exceptions.
>       >
>       > java.lang.NullPointerException
>       > org.apache.coyote.http11.InternalOutputBuffer.commit(InternalOutputBuffe
>       >r.j
 ava:547)
>       > org.apache.coyote.http11.Http11Processor.action(Http11Processor.java:735
>       >)
 org.apache.coyote.Response.action(Response.java:223)
>       > org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuff
>       >er.
 java:518) org.apache.coyote.Response.doWrite(Response.java:532)
>       > org.apache.coyote.tomcat5.OutputBuffer.realWriteBytes(OutputBuffer.java:
>       >392 )
>       > org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:439)
>       > org.apache.coyote.tomcat5.OutputBuffer.flush(OutputBuffer.java:350)
>       > org.apache.coyote.tomcat5.CoyoteWriter.flush(CoyoteWriter.java:119)
>       > lbp.LBPServlet.doGet(LBPServlet.java:98)
>       > javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
>       > javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
>       > org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.
>       >jav
 a:466)
>       > org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:18
>       >0)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
>       > javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
>       > filters.ExampleFilter.doFilter(ExampleFilter.java:149)
>       > filters.ExampleFilter.doFilter(ExampleFilter.java:149)
>
>       
>       --
>       Ben Souther
>       F.W. Davison & Company, Inc.
>       
>       
>       
>       ---------------------------------------------------------------------
>       To unsubscribe, e-mail: [EMAIL PROTECTED]
>       For additional commands, e-mail: [EMAIL PROTECTED]
>       
>       
> 

-- 
Ben Souther
F.W. Davison & Company, Inc.



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to