PDA

View Full Version : oggetti JSP impliciti(JSP-JAVA)


prazision
19-12-2004, 12:53
Dunque ho trovato su un tutorial scritto:"
Gli oggetti JSP impliciti sono istanze delle classi definite dalle
specifiche servlet e JSP
"

out ad esempio è un istanza della classe JspWriter


in + pagine jsp io utilizzo una classe java(Esempio.java) dove c'è un
metodo +o- fatto cosi:
public void mioMetodo(Connection con, JspWriter jw)
{
.....
jw.println(variabileQualunque);
...
}
insomma un metodo che stampa a video (usando l'oggetto out) qualcosa.

ammettiamo che vengano richiamate contemporaneamente + pagine(da + utenti)
e che quindi vengano istanziati + oggetti Esempio e che venga richiamato +
volte contemporaneamente il metodo mioMetodo.

Mi chiedo:
in ogni pagina c'è un istanza(out) diversa della classe JspWriter??
Nel senso, ogni volta che viene chiamato il metodo mioMetodo gli viene
passato un oggetto(out) differente(nel senso che punta ad un differente
indirizzo di memoria rispetto agli altri) e non sempre lo stesso giusto?

grazie

prazision
19-12-2004, 15:01
mi spiego meglio(almeno cerco):
la frase
"
Gli oggetti JSP impliciti sono istanze delle classi definite dalle
specifiche servlet e JSP
"
indica che ad esempio in ogni singola pagina jsp è come ci fosse scritto qualcosa del genere(ovviamente mi riferisco solo all'oggeto out):

JspWriter out=new JspWriter();

???

kingv
19-12-2004, 15:18
dovrebbe essere un oggetto out differente per ogni istanza di jsp che l'application server crea. occhio che lo stesso oggetto potrebbe servire piu' di una richiesta.
cosa ti preoccupa?

prazision
19-12-2004, 16:12
nulla, era una curiosità.

che significa precisamente"lo stesso oggetto potrebbe servire piu' di una richiesta"?(+ che altro occhio a cosa?)

ciao grazie

beppegrillo
19-12-2004, 17:12
Originariamente inviato da prazision
nulla, era una curiosità.

che significa precisamente"lo stesso oggetto potrebbe servire piu' di una richiesta"?(+ che altro occhio a cosa?)

ciao grazie
Conosci le variabili statiche? Se si è praticamente la stessa cosa, l'oggetto mantiente le informazioni tra una richiesta ed un'altra, in un certo qual modo si cerca di superare il problema di internet che è stateless.

prazision
19-12-2004, 17:49
si conosco le variabile statiche.

ho notato che se uso una classe java che ha una variabile statica in una webapplication tale variabile è condivisa da tutte le pagine dell'applicazione; cio'potrebbe tornare utile ma se uno non ne fa un buon uso potrebbero esserci dei rischi.

ma se anche l'oggetto out è come una variabile statica allora non è vero che " dovrebbe essere un oggetto out differente per ogni istanza di jsp che l'application server crea".

se è come dici tu quali potrebbero essere i rischi?
in un esempio come quello esposto da me non si corrono pericoli(mi riferisco al fatto che ogni volta che il metodo mioMetodo viene chiamato gli viene passato sempre il riferimento allo stesso oggetto)?

beppegrillo
19-12-2004, 17:56
Originariamente inviato da prazision
si conosco le variabile statiche.

ho notato che se uso una classe java che ha una variabile statica in una webapplication tale variabile è condivisa da tutte le pagine dell'applicazione; cio'potrebbe tornare utile ma se uno non ne fa un buon uso potrebbero esserci dei rischi.

ma se anche l'oggetto out è come una variabile statica allora non è vero che " dovrebbe essere un oggetto out differente per ogni istanza di jsp che l'application server crea".

se è come dici tu quali potrebbero essere i rischi?
in un esempio come quello esposto da me non si corrono pericoli(mi riferisco al fatto che ogni volta che il metodo mioMetodo viene chiamato gli viene passato sempre il riferimento allo stesso oggetto)?
Chiedo scusa non avevo capito che ti stessi riferendo all'oggetto out.
Ad occhio direi che viene creata un'istanza per ogni richiesta.

prazision
19-12-2004, 17:57
provo di nuovo a spiegarmi meglio:

se out fosse come una variabile statica secondo me(poi magari vaneggio) accadrebbe che:

la pagina a.jsp invoca un metodo dell'oggetto out passandogli il parametro varA; tale metodo comincia a essere eseguto con tale parametro in tale pagina.

poco dopo la pagina b.jsp invoca lo stesso metodo di out passando un parametro diverso:varB; a questo punto anche nella pagina a.jsp il metodo comincia ad essere eseguito con il parametro varB.

vaneggio?

grazie

prazision
19-12-2004, 17:58
ok scusa abbiamo scritto contemporaneamente.
ora che ti sei corretto mi sembra di esserci.

grazie mille