Forum Clubic

Redéfinir les méthodes init et destroy d'une jsp

Hello tout le monde,

Je cherche le code qui permet dans une page JSP,
de redéfinir le contenu de la méthode “init” et “destroy” d’une JSP.

En gros, je voudrais le code qui permet de mettre du contenu dans ces méthodes.

Vu qu’une JSP devient une servlet, cette servlet possede une méthode init et destroy.

Ces méthodes sont appellées une fois la servlet compilée.

La méthode init est appellée quand la servlet est chargée en mémoire sur le serveur.

Et destroy est appellé quand la servlet “meurt” (est effacée du serveur).

J’avais déjà mis la main sur ces codes.

Ca me permettait d’utiliser un pool de connexion à ma bdd.

Si qqn a les codes … plizz

c’est du style :

<%! public void _jspInit() %>

un truc de ce genre …

j’ai essayé

<%! public void _jspInit() {

mais Tomcat me dit : duplicated method

qqn a une idée ?

ok cool c’est bon ca marche !


<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="pool.*" %>
<%@ page import="tpln.*" %>

<!% private DBConnectionManager connMgr; %>
<!% public void jspInit() {
    try {
        super.init();
    } catch(ServletException se) {
        System.out.println("Error : [" + se.getMessage() + "]");
    }

    // on crée une instance du pool de connexion dans la mémoire du serveur (création des n connections à la bdd)
    connMgr = DBConnectionManager.getInstance();
}
%>

<!% public void jspDestroy() {
    // on détruit l'objet pool de connection
    connMgr.release();

    super.destroy();

}%>

<%
    // on déclare des variables ...
    String query = "";
    int count = 0;
    Hashtable resultats[];
    Object objet = null;
    String chaine = "";
    Hashtable result = null;

    // on récupère une Connection BDD grâce au pool de connexion
    Connection con = connMgr.getConnection("ent");

    // si on ne peut pas récupérer de connexion ...
    if (con == null) {

        // on affiche un message d'erreur
        out.println("Can't get connection");

        // et on quitte
        return;
    }

    // on crée l'objet TPLN
    Tpln tpln = new Tpln();

    // on "connecte" TPLN (on injecte la Connection récupérée du pool dans le TPLN)
    tpln.dbConnect(con);

    // on injecte le writer dans le tpln pour afficher les messages d'erreur sur le navigateur
    tpln.setPrintWriter(out);


    // on crée la requête
    query = "SELECT *";
    query+= "FROM annee";

    // on exécute la requête
    tpln.doQuery(query);

    // on récupère le nombre de ligne du résultats
    count = tpln.getRowsCount();

    // on récupère les données
    resultats = tpln.getData();


    // pour chaque ligne ...
    for(int i=0; i<count; i++) {
            // on récupère la case
            chaine = ((String) resultats[i].get("id_annee")) + " " + ((String) resultats[i].get("name_annee"));

            // on l'affiche ...
            out.println(chaine + "<br>");


    }


    tpln.dbClose();

    connMgr.freeConnection("ent", con);
%>