Code connection à la BD java EE
Résolu/Fermé
Aminax
Messages postés
81
Date d'inscription
jeudi 26 septembre 2013
Statut
Membre
Dernière intervention
29 mai 2015
-
5 mai 2014 à 20:00
Aminax Messages postés 81 Date d'inscription jeudi 26 septembre 2013 Statut Membre Dernière intervention 29 mai 2015 - 5 mai 2014 à 22:19
Aminax Messages postés 81 Date d'inscription jeudi 26 septembre 2013 Statut Membre Dernière intervention 29 mai 2015 - 5 mai 2014 à 22:19
A voir également:
- Code connection à la BD java EE
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Se connecter à ma boite hotmail - Guide
- Code ascii de a - Guide
- Gmail connection - Guide
2 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
5 mai 2014 à 21:06
5 mai 2014 à 21:06
Bonsoir,
Dans l'architecture n-tiers de Java EE, la base de données ne devrait jamais être manipulée directement par la servlet. Il faut passer par une couche métier intermédiaire.
Pour faire ça bien, regarde donc comment fonctionne les EJB 3 (Enterprise Java Bean), en particulier les EJB Entity et donc la JPA (Java Persistence API).
Remarque : cela va nécessiter de passer d'un WAR à un EAR et donc d'utiliser un vrai serveur Java EE (par opposition à Tomcat qui n'est qu'un conteneur de servlet).
Sinon, oui tu peux faire ta connexion à la base de donnée (ou l'instanciation de ton EJB) dans la méthode init(), sans oublier de la fermer dans le destroy().
Dans l'architecture n-tiers de Java EE, la base de données ne devrait jamais être manipulée directement par la servlet. Il faut passer par une couche métier intermédiaire.
Pour faire ça bien, regarde donc comment fonctionne les EJB 3 (Enterprise Java Bean), en particulier les EJB Entity et donc la JPA (Java Persistence API).
Remarque : cela va nécessiter de passer d'un WAR à un EAR et donc d'utiliser un vrai serveur Java EE (par opposition à Tomcat qui n'est qu'un conteneur de servlet).
Sinon, oui tu peux faire ta connexion à la base de donnée (ou l'instanciation de ton EJB) dans la méthode init(), sans oublier de la fermer dans le destroy().
Aminax
Messages postés
81
Date d'inscription
jeudi 26 septembre 2013
Statut
Membre
Dernière intervention
29 mai 2015
5 mai 2014 à 21:39
5 mai 2014 à 21:39
donc j'ouvre le try { class.formName("com.mysql.jdbc.Driver") connection con = driverManager..... dans la methode init() et je fais ma manipulation dans doPost le fait de faire par exemple : statement st = con.creatStatement();
st.executeQuery("select * from table) ..... et je la ferme dans destroy c'est ça non ! ^^"
st.executeQuery("select * from table) ..... et je la ferme dans destroy c'est ça non ! ^^"
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
5 mai 2014 à 21:59
5 mai 2014 à 21:59
Ce n'est pas dans l'esprit Java EE, mais ça fonctionnera.
Attention par contre à ne pas oublier les super.
De plus le class.forName n'est utile qu'une fois, son seul but est d'appeler le bloc static de la classe, il serait donc logique de le mettre dans ton bloc statique aussi.
Attention par contre à ne pas oublier les super.
De plus le class.forName n'est utile qu'une fois, son seul but est d'appeler le bloc static de la classe, il serait donc logique de le mettre dans ton bloc statique aussi.
public class JdbcHttpServlet extends HttpServlet { private static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static { try { Class.forName(JDBC_DRIVER); } catch (ClassNotFoundException e) { throw new LinkageError(e); } } @Override public void init() { super.init(); ... } @Override public void destroy() { super.destroy(); ... } }
Aminax
Messages postés
81
Date d'inscription
jeudi 26 septembre 2013
Statut
Membre
Dernière intervention
29 mai 2015
5 mai 2014 à 22:19
5 mai 2014 à 22:19
ah ok merci beaucoup KX o/ et Bonne soirée !