Ho una servlet del genere:
codice:
//... IMPORT VARI

public class srvlt extends HttpServlet {   
    protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, ClassNotFoundException, SQLException {
        //... CODICE
    } 

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //... CODICE 
    } 


    protected String rQ(int id) throws ClassNotFoundException, SQLException{
        String query, info="";
        Class.forName("com.mysql.jdbc.Driver");
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:8789/tab","user","pass");
        Statement st = conn.createStatement();
        query = "SELECT * FROM ...;
        ResultSet rs = st.executeQuery(query);
    }
}
Come si può vedere nell'ultimo metodo c'è una query SQL e per eseguirla devo effettuare la connessione, finchè c'è un sol metodo questo approccio è anche funzionale, ma se inizio ad avere decine di metodi che fanno tutti operazioni SQL c'è questa parte che è sempre ripetuta:
codice:
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:8789/tab","user","pass");
Statement st = conn.createStatement();
Ora potrei semplificarmi in parte mettendo queste tre righe in un metodo apparte che richiamo quando mi servono quelle istruzioni, ma al di la di tutto, mi sembra uno spreco inutile eseguire una connessione per ogni metodo. C'è una pratica migliore?