web-dev-qa-db-fra.com

Quelle est la différence entre la demande et la portée de la session au printemps?

Dans la portée de la demande, un bean est défini sur une demande HTTP tandis que dans la portée de la session, il est limité à une session HTTP. Donc, par exemple,

si la portée du bean est request et, si un utilisateur fait plus d'une requête pour une page Web dans sa session utilisateur, alors à chaque requête un nouveau bean sera créé.

Alors que si la portée est définie comme session pour le bean, si un utilisateur fait une demande de page Web plus d'une fois, alors à chaque demande le même bean sera retourné.

veuillez me faire savoir si cette compréhension est correcte?

10
greenHorn

Votre compréhension est correcte. Cependant, je voudrais ajouter quelque chose

Alors que si la portée est définie comme session pour le bean, si un utilisateur fait une demande de page Web plus d'une fois, alors à chaque demande le même bean sera retourné.

Je le changerais comme alors que si la portée est définie comme session pour le bean, si un utilisateur fait une demande pour une page Web plus d'une fois, alors à chaque demande le même bean sera retourné, tant que les demandes sont dans la même session utilisateur et créés à partir d'un client capable de maintenir la session (vous ne pouvez pas vous attendre à ce que curl maintienne la session utilisateur à moins que vous ne passiez l'en-tête cookie/identifiant de session).

9
so-random-dude

Session Scope - lorsque la portée est session, les valeurs de formbean (données de formulaire) sont disponibles tout au long de la session. il ne sera pas détruit avant l'expiration de la session ou la session détruite.

Étendue de la demande - lorsque l'étendue est une demande, les valeurs de formbean (données de formulaire) sont disponibles pour la demande actuelle. il s'actualisera à chaque demande d'un même utilisateur/d'un utilisateur différent.

parce que http est un protocole sans état

1
Ved Prakash