JSP Programmation - réponse.getWriter().flush(); ne fonctionne pas
<%
response.getWriter().write("Hello world<BR>\n");
response.getWriter().flush();
wait(10000); //10 seconds
response.getWriter().write("Goodbye happiness.<BR>\n");
%>
Résultats attendus: "Hello World" est affiché dans le navigateur. 10 secondes plus tard, "au Revoir bonheur." est affiché.
Ce qui se passe: La page se trouve là, le chargement pendant 10 secondes, puis "Bonjour tout le Monde, Adieu le Bonheur" sont affichées à la fin.
Ce que je veux faire, c'est afficher l'état d'une opération de longue durée que les différents jalons sont atteints. Est-ce possible?
Je suis en utilisant Eclipse EE (avec Tomcat) sur Windows 7.
Il semble que vous devriez vraiment être à l'aide d'ajax pour cela.
OriginalL'auteur ChopperCharles | 2012-07-12
Vous devez vous connecter pour publier un commentaire.
OriginalL'auteur rickz
Je pense que le problème ici est
wait(10000); //10 seconds
. Pas sûr de ce que la réponse que vous voyez, mais vous devez prendre de verrouillage avant de fairewait()
. Vous devriez changer dewait(10000);
ligne à l'un de ceci :OU
Même alors, si elle ne fonctionne pas, vous devriez vérifier si il y a quelque chose derrière qui est primordial écrivain et de mise en mémoire tampon les données jusqu'à la fermeture.
OriginalL'auteur Ramesh PVK
Vous devez définir votre "Transfer-Encoding: chunked" en tête avant d'écrire votre contenu.
Eh bien, cela dépend des configurations de serveur. Le "contenu" de la longueur non définie, alors Transfer-Encoding: chunked" comportement pourrait avoir été remplacé.
OriginalL'auteur Clivant Yeo