2009-07-29 8 views

Répondre

3

c'est un peu difficile. la façon la plus sensée de le faire peut être un filtre de servlet. mais le problème est que lorsque la réponse retourne au filtre, elle est déjà écrite. de sorte que vous pouvez l'écrire, mais seulement à la fin du balisage, qui n'a pas de sens d'un point de vue html ..

si vous avez essentiellement trois choix qui me viennent à l'esprit:

1) créer un filtre, envelopper tout le outputStream l'écrire dans un tampon et remplacer une "chaîne spéciale" avec le temps de rendu. puis écrivez le tampon modifié dans le vrai flux de sortie. 2) au début de la demande, attribuer un jeton aléatoire/croissant. enregistrer la durée de la requête dans une carte globale/carte de session. écrire un javscript qui se déclenche après le chargement de la page qui écrit le temps de réponse quelque part dans la page. 3) simuler le tout et calculer le temps de réponse en utilisant javscript/cookies sans que le serveur ne mesure quoi que ce soit.

J'ai impemented comme 2) et je pense que c'est ok.

notez que cette réponse n'est pas spécifique à GAE mais plutôt spécifique à servlet2.x. ce qui n'a pas d'importance.

+0

Ah, une question sur 2: où dans le code de printemps est aussi proche que possible du début de la demande? À la méthode @RequestHandler semble un peu en retard (après l'envoi), mais peut-être pas. Et qu'en est-il de 3? Comment les cookies sont-ils impliqués? En passant, merci pour votre réponse! – dfrankow

Questions connexes