Le cookie JSESSIONID est créé/envoyé lors de la création de la session. La session est créée lorsque votre code appelle request.getSession()
o request.getSession(true)
pour la première fois. Si vous voulez simplement obtenir la session, mais ne pas la créer si elle n'existe pas, utilisez request.getSession(false)
-- cela vous renverra une session ou null
. Dans ce cas, une nouvelle session n'est pas créée, et le cookie JSESSIONID n'est pas envoyé. (Cela signifie également que la session n'est pas nécessairement créée à la première demande ... vous et votre code sont sous contrôle quand la session est créée)
Les sessions se déroulent en fonction du contexte :
SRV.7.3 Étendue de la session
Les objets HttpSession doivent avoir une portée à l'application (ou le contexte de servlet) d'application (ou contexte de servlet). Le mécanisme sous-jacent, tel que comme le cookie utilisé pour établir la session, peut être le même pour différents contextes, mais l'objet référencé, y compris les attributs y compris les attributs de cet cet objet, ne doit jamais être partagé entre contextes par le conteneur.
( Spécification Servlet 2.4 )
Mise à jour : Chaque appel à une page JSP crée implicitement une nouvelle session s'il n'y en a pas encore. Ceci peut être désactivé avec l'option session='false'
Dans ce cas, la variable de session n'est pas du tout disponible sur la page JSP.