domande su JavaEE

5 views
Skip to first unread message

Maurizio Calcagni

unread,
Jun 26, 2007, 5:36:12 AM6/26/07
to jugto...@googlegroups.com
Ciao a tutti
sono nuovo di java EE e sto cercando di imparare dal libro "Java
Enterprise Edition 5" di Filippo Diotalevi avrei cmq alcuni dubbi che
spero mi possiate chiarire, passo alle domande:
1-Nella programmazione delle servlet esistono metodi appositi come
init() e destroy() per inizializzare e finalizzare la servlet, un
esempio classico di operazioni da fare in questi metodi è la connessione
ad un DB.
Quello che nn mi è tanto chiaro è:
- sappiamo che la servlet è multithread per natura, ma i suoi metodi
init() e destroy() vengono eseguiti per ogni nuovo client?
Io credo di no, ma se è davvero così, i vari client riutilizzano
tutti la stessa connessione al DB? Contemporaneamente?
Potreste farmi chiarezza su questo argomento, magari
con una piccola "lezione" oppure indicandomi del materiale on-line?

2-Provo parrallelamente allo studio a scrivere qualche piccola
applicazioncina EE, ho incontrato subito dei problemi :( .
In una pagina JSP provo ad utilizzare un metodo (statico) di una classe
appartenente alla cartella "classes" di WEB-INF tramite
un espressione nel linguaggio EL ma nn va!!!
Ma queste classi nn sono viste automaticamente dall'applicazione
intera?? Sapete quale può essere il problema??

Grazie anticipatamente a tutti.
Ciao

Gabriele Fatigati

unread,
Jun 26, 2007, 9:33:19 AM6/26/07
to Maurizio Calcagni, jugto...@googlegroups.com
Ciao,
posso risponderti alla prima domanda. Il metodo init() sella servlet viene eseguito alla prima chiamata che arriva alla servlet. Solo alla prima. Infatti tale metodo si usa per inizializzare parametri , quali ad esempio quelli  di connessione.Alla prima richiesta, il servlet container richiama il metodo init() ed esegue il suo contenuto.  Anche destroy() viene eseguito una sola volta.

Riguardo le connessioni al database, se non usi algoritmi di pooling di connessioni, ne viene creata una nuova ogni volta, con ovvio spreco di risorse. Un algoritmo di pooling invece permette l'utilizzo di connessioni già esistenti.

Se per caso usi Tomcat come Servlet Container, allora ti serve DBCP. Qua c'è una guida :

http://tomcat.apache.org/tomcat-5.0-doc/jndi-datasource-examples-howto.html

Il 26/06/07, Maurizio Calcagni <ma...@fastwebnet.it> ha scritto:
Reply all
Reply to author
Forward
0 new messages