Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    45

    servlet ed accesso db

    ciao a tutti mi sono da poco affacciato a java per sviluppare web application (jsp,servlet...) ho creato pagine jsp e servlet più o meno complicate...
    avrei bisogno di un chiarimento sul modo giusto di creare servlet (ad esempio per connettermi al db) faccio un esempio:
    una mia servlet di esempio utilizza un oggetto dbconn che mi restituisce un oggetto connection valido:

    public class Example extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
    static final long serialVersionUID=0;
    public Connection dbconn = null;

    public Example() {
    super();
    DB dbobj = new DB();
    dbconn = dbobj.getDbconn();
    } ....

    poi avro i miei metodi doGet doPost dove utilizzerò la mia connessione al db
    ...

    io ho creato le mie servlet sempre in questo modo ma mi è venuto un dubbio
    va bene così?
    o la mia connessione la devo valorizzare in un metodo init per via che venga chiamata solo la prima vola?
    insomma nelle servlet devo sempre utilizzare il metodo init (per ad esempio fare la connessione al db), oppure va bene anche come ho fatto io senza il metodo init, (se lascio il codice così a cosa vado incontro?)
    grazie a tutti
    scusate se sembrerà banale ma non ho chiaro questa cosa
    ciao

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,477

    Moderazione

    Ho spostato la discussione nel forum dedicato a Java.
    In futuro, poni qui le tue domande relative a questo linguaggio.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Facendo così la connessione la apri e chiudi continuamente, potresti avere un sovraccarico inutile di lavoro sul database. Non credo dovrebbero esserci altri problemi.

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    45
    grazie per la risposta ma qual è allora il metodo migliore...?

  5. #5
    Originariamente inviato da fano
    grazie per la risposta ma qual è allora il metodo migliore...?
    Istanzi la connessione nel metodo init della servlet In modo che sia creata una volta ed usata sempre per quella servlet.

    Ed ovviamente la chiudi nel metodo destroy

    per esempio
    codice:
    public class myServlet extends HttpServlet {
    
    private Connection myDbConnection;
    
    public void init() throws ServletException {
     DB dbobj = new DB();
     myDbConnection= dbobj.getDbconn();
    }
    public void destroy() throws ServletException {
     
     myDbConnection.close();
    myDbConnection=null;
    }
    ed ovviamente implementi come prima i tuoi doGet,doPost.

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    45
    ok grazie,
    se utilizzassi un pool di connessione dbcp secondo te sarebbe meglio:
    recuperare dall'oggetto da me creato DB dbobj = new DB(); il datasource e poi nella init recuperare l'oggetto connection
    oppure recuperare dal mio oggetto direttamente la connessione?
    grazie ancora

  7. #7
    Originariamente inviato da fano
    ok grazie,
    se utilizzassi un pool di connessione dbcp secondo te sarebbe meglio:
    recuperare dall'oggetto da me creato DB dbobj = new DB(); il datasource e poi nella init recuperare l'oggetto connection
    oppure recuperare dal mio oggetto direttamente la connessione?
    grazie ancora
    La mia opinione è usa un pool se hai necessità di Molte connessioni (oppure perche' vuoi sperimentare ), ma se è per il tuo sitarello che fa poche connessioni va anche bene una richiesta del genere.

    Io preferirei prendere il DS, e poi la connection nella servlet, mi sembra più carino.

    Se vuoi vedere cose interessanti sulla connessione al db (e non conosci gia') guarda su google Hibernate oppure iBatis in questo caso ricorda, più ti allontani dal JDBC standard più aggiungi overhead alla tua applicazione.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.