Java servlet - nettoyage de Session (HttpServletRequest)
Question générale sur les servlets java et la meilleure façon de traiter les demandes. Si j'ai touché mon doGet méthode à partir d'un serveur distant demande:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
....
<do work here>
....
kill(request);
}
private void kill(HttpServletRequest request) {
//How do I kill the user session here?
}
Après j'ai procédé de la demande à ma fin et générer ma sortie pour le demandeur, je veux en gros "tuer" leur session. Actuellement, cette session s'attarde et donc mange de la mémoire. Puis une fois que le max est atteint, tous les autres appels sont chronométrés.
J'ai essayé de créer un objet HttpSession à l'aide de l'objet de la requête, mais n'a obtenu les mêmes résultats:
HttpSession session = request.getSession();
session.invalidate();
J'ai l'impression que concrètement, votre problème doit être résolu d'une manière différente.
Probablement. Le but ultime est que je veux mettre fin à une session dans mon pool de session après que leur demande est traitée. Si oui ou non c'est tuer l'objet de la requête ou de la création d'un objet de session pour la session de la supprimer, je ne suis pas sûr.
Probablement. Le but ultime est que je veux mettre fin à une session dans mon pool de session après que leur demande est traitée. Si oui ou non c'est tuer l'objet de la requête ou de la création d'un objet de session pour la session de la supprimer, je ne suis pas sûr.
OriginalL'auteur user82302124 | 2012-04-05
Vous devez vous connecter pour publier un commentaire.
est la bonne façon d'aller, comme proposé par la documentation. Une nouvelle session sera créé une fois que le client envoie une nouvelle demande.
Vous avez mentionné que votre séances de toujours prendre de la mémoire. Avez-vous d'autres références à ces objets sur la session?
Vous pouvez également jeter un oeil à: Servlet comportement de Session et de la Session.invalider
OriginalL'auteur csupnig
vous pouvez supprimer un attribut à partir d'une session à l'aide de
OriginalL'auteur mykey
Essayer avec
OriginalL'auteur dash1e
Si vous ne voulez pas le comportement de Session je.e, ayant de l'état entre plusieurs demandes. Pourquoi voulez-vous créer/utiliser de session à tous. Ne créez pas de session ou de ne rien stocker dans la session.
Pour vous assurer que votre code n'est pas à l'aide de session, écrire une demande wrapper qui remplacera l'
getSession()
méthodes.OriginalL'auteur Ramesh PVK