2010-08-23 3 views
1

Comment obtenir l'objet de session d'un objet de session EJB de type session-bean dans JSP (couche Web)? Parce que je veux ajouter un attribut à la session et l'utiliser plus tard dans son processus.Comment accéder à la 'Session' d'un EJB?

Cordialement

Répondre

2

dans la couche web vous obtenez la session avec

request.getSession() 

Renvoie l'objet de la session liée à cette demande. Vous pouvez y stocker les attributs spécifiques à la session que vous pouvez réutiliser sur les demandes suivantes.

Dans les couches EJB, vous avez des objets de session complètement différents qui n'ont rien à voir avec la session ci-dessus. Il existe des beans de session sans état et des beans de session avec état. Les beans de session avec état peuvent également conserver l'état sur plusieurs requêtes, mais ils sont très délicats à utiliser et ne sont utiles que pour un ensemble très limité de cas d'utilisation. Les beans de session sans état ne conservent pas l'état (hors détectable) entre les appels, il est donc inutile de stocker les attributs que vous souhaitez réutiliser plus tard, sauf si vous les stockez dans une couche de persistance ou dans un cache. Dans la plupart des cas, le plus simple est de conserver l'état de la conversation dans l'objet de session de requête et de transmettre l'attribut que vous souhaitez réutiliser ultérieurement de la couche Web à un bean de service sans état en tant que paramètre.

Questions connexes