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);
%>