PDA

View Full Version : jsp: metodo setAttribute dell'oggetto request


prazision
23-08-2004, 19:38
il metodo setAttribute(dell'oggetto request) memorizza l'attributo
specificato nella richiesta corrente.
ma quando la pagina jsp (che contiene request.setAttribute(nome, valore))viene eseguita la richiesta corrente non è gia terminata??
che signfica quindi, che setAttribute 'aggiunge' tale attributo alla
richiesta che è già stata inoltrata(e terminata)??

forse faccio unpo' di confusione ma faccio fatica a figurarmi tale
cosa; se qualcuno mi spiegasse.
grazie.

kingv
23-08-2004, 20:42
La "request" è un oggetto che rappresenta la richiesta (http nel caso di una HttpServletRequest) che ha causato la chiamata alla tua jsp.

In effetti il setAttribute non è usato molto comunemente. Un possibile utilizzo potrebbe essere il voler aggiungere un attibuto alla request e poi passare il controllo a un'altra jsp (con una forward). La seconda jsp potrebbe fare un request.getAttribute() per recuperare il parametro.

prazision
23-08-2004, 20:51
ok ma l'oggetto request continua a esistere anche dopo che il codice della pagina è stato eseguito e c'è stato quindi un output, giusto?

nel senso: l'oggetto request non muorecon la richiesta da parte del client della pagina jsp, giusto?

kingv
24-08-2004, 08:08
Originariamente inviato da prazision

nel senso: l'oggetto request non muorecon la richiesta da parte del client della pagina jsp, giusto?

muore quando l'application server ha finito di rispondere al client che ha fatto la richiesta. Se la richiesta ad esempio chiama una servet e questa servlet passa il controllo a una jsp l'oggetto non muore nel passaggio da una all'altra.

prazision
24-08-2004, 09:24
si ok.

a me il concetto sembrava strano perchè pensavo che una volta arrivata la richiesta al server (e quindi prima di eseguire il codice che contiene ad ex. un request.setAttribute()) ormai la richiesta fosse terminata.

insomma facevo confusione tra la richiesta generica da parte del client e l'oggetto request che è indipendente da tale richiesta.

spero di essermi spiegato.

grazie cmq

kingv
24-08-2004, 09:31
Originariamente inviato da prazision

insomma facevo confusione tra la richiesta generica da parte del client e l'oggetto request che è indipendente da tale richiesta.




esatto, anche se l'istanziazione è conseguenza della richiesta http del client il lifetime dell'oggetto request è determinato dall'applicazion server

prazision
24-08-2004, 10:00
grazie