Forums Register Login

Please suggest how to display partial output from time to time using JSP.

+Pie Number of slices to send: Send
I am calling a unix script from Java.Now this script runs for around 10 minutes and returns messages(echo statements). I am able to read these messages as soon as they are sent using a Buffered Reader using Java Class.
The problem is when is doing the same in JSP.Because I want to display the response as soon as a line is displayed and then the next response when next line is read(say after few seconds or minutes). But my JSP page will render only when the entire script runs. How can this be done using JSP.Please advice.

Since this Unix script runs for long time say 10 minutes, I want user to be displayed messages in between indicating the progress so far.(as messages recieved line by line from Unix script). But how to display partial output using JSP and then after period of time display the next output. I do not know AJAX.Is there a way of doing it using JSP?
+Pie Number of slices to send: Send
No. You will need to use Ajax.
+Pie Number of slices to send: Send
Ok.but before AJAX technology came, how were developers doing this?
+Pie Number of slices to send: Send
actually since i dont know ajax, and i have to do this in limited time, i wanted to do this without AJAX.I read on internet that setting partial output as session variable and refeshing the page every second can help.but how exactly to do this i am confused.
+Pie Number of slices to send: Send
Yes, before Ajax, one needed to refresh the whole page in order to effect any changes. If you want to use no JavaScript or Ajax, that's the approach you will have to use. You cannot just add parts the to page incrementally -- you need to redo the whole thing.

Not the best user experience, be warned.
+Pie Number of slices to send: Send
Can you please tell about this approach too? I still have some confusion.

->My JSP page will have buffered Reader reading line by line and displaying this Variable.
--> JSP page will have auto refresh. for every second.

But still the JSP page will be rendered after the entire buffer reader is read? suppose from buffer reader i am reading line by line 1 to 10 at intervals of 1 sec, despite the auto refresh, the JSP page will be rendered at once only after completion of 10 seconds.

Then how to make this approach work.Please suggest if this is possible and i am misssing out something above?
thanks


+Pie Number of slices to send: Send
Possibly you might find pushlets applicable in this use case.
Its quite an old article, and I never used them myself, but I think it fits your scenario.

+Pie Number of slices to send: Send
thanks all.even Flush serves the purpose.
+Pie Number of slices to send: Send
 

Monica. Shiralkar wrote:thanks all.even Flush serves the purpose.



Can you tell me how did you achieved this? I have been trying it since long. Please help me. Thanks in advance.
1
+Pie Number of slices to send: Send
Really, the correct way to do this is with Ajax. Refreshing the whole JSP page -- or screwing around with flushing on the server -- is an outdated, fragile, and unnecessarily complicated approach. Why not use modern technology as it is supposed to be used?
+Pie Number of slices to send: Send
 

Bear Bibeault wrote:Really, the correct way to do this is with Ajax. Refreshing the whole JSP page -- or screwing around with flushing on the server -- is an outdated, fragile, and unnecessarily complicated approach. Why not use modern technology as it is supposed to be used?



It seems like AJAX is the best way. Can you tell me how do we need to publish the output from servlet and display it line by line in sync with the console output using AJAX.
+Pie Number of slices to send: Send
How is the servlet getting the text that needs to be displayed?

With HTTP, you get a text response for every request. If the display needs to continually be updated, you can fire off a request at intervals to get the latest text to display.


+Pie Number of slices to send: Send
Servlet is getting the data using inputstream. and data need to be displayed as soon as it arrives to servlet in div section in jsp continuously. Please Suggest me.
1
+Pie Number of slices to send: Send
That's not going to be possible unless you limit your audience to modern browsers where technologies like web sockets or Meteor or other constant-connection technologies can be used.

If you are supporting legacy browsers, polling is as good as it's going to get.
+Pie Number of slices to send: Send
 

Servlet is getting the data using inputstream. and data need to be displayed as soon as it arrives to servlet in div section in jsp continuously. Please Suggest me.



Please try to do this using AJAX. That is the proper way.
I didn't do it. You can't prove it. Nobody saw me. The sheep are lying! This tiny ad is my witness!
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com


reply
reply
This thread has been viewed 1669 times.
Similar Threads
displaying fixed number of records on a page
How to retrieve partial data in SQL Server ?
Before pageload event
How to display InputSream dynamically on a JSP page?
RequestDispatcher and .forward()
More...

All times above are in ranch (not your local) time.
The current ranch time is
Mar 29, 2024 06:31:26.