J2EE et Base de donnée MySQL
Bonjour,
j'ai un soucis , j'ai un TP à faire et j'ai installé ceci :
mysql-connector-java
J'ai copier dans le répertoire web-inf/lib le fichier binaire de mysql-connector ,
Mais je ne sais pas du tout comment je fais après pour aller créer mes tables etc ... bref je suis perdu et je ne trouve pas de tutoriel sur le web assez simple pour comprendre les étapes.
Je précise que je n'ai jamais développé une seule appli J2EE intervenant avec une base de donnée mysql.
Pouvez vous m'aider svp , j'aimerais pouvoir arriver jusqu'à tester l'insertion , le update , et delete de champ dans une base.
Apres je me débrouillerais pour mon TP .
Merci d'avance.
Avancé base de donnée JDBC
Bonjour à tous et toutes , merci pour vos réponses.
J'ai besoin de vous après avoir bien avancé , j'ai ces fichiers java suivant :
TestJDBC.JAVA :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
| package com.td.bdd;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
@WebServlet("/test_jdbc")
public class TestJDBC {
private List<String> messages = new ArrayList<String>();
public List<String> executerTests( HttpServletRequest request ){
/* Chargement du driver JDBC pour MySQL */
try {
messages.add( "Chargement du driver..." );
Class.forName( "com.mysql.jdbc.Driver" );
messages.add( "Driver chargé !" );
} catch ( ClassNotFoundException e ) {
messages.add( "Erreur lors du chargement : le driver n'a pas été trouvé dans le classpath ! <br/>"
+ e.getMessage() );
}
/* Connexion à la base de données */
String url = "jdbc:mysql://localhost:3306/bdd_contacts";
String utilisateur = "java";
String motDePasse = "123456";
Connection connexion = null;
Statement statement = null;
ResultSet resultat = null;
try {
messages.add( "Connexion à la base de données..." );
connexion = DriverManager.getConnection( url, utilisateur, motDePasse );
messages.add( "Connexion réussie !" );
/* Création de l'objet gérant les requêtes */
statement = connexion.createStatement();
messages.add( "Objet requête créé !" );
/* Exécution d'une requête de lecture */
resultat = statement.executeQuery( "SELECT id, nom, prenom, email FROM contact;" );
messages.add( "Requête \"SELECT id, nom, prenom, email FROM contact;\" effectuée !" );
/* Récupération des données du résultat de la requête de lecture */
while ( resultat.next() ) {
int idContact = resultat.getInt( "id" );
String nomContact = resultat.getString( "nom" );
String prenomContact = resultat.getString( "prenom" );
String emailContact = resultat.getString( "email" );
/* Formatage des données pour affichage dans la JSP finale. */
messages.add( "Données retournées par la requête : id = " + idContact + ", nom = " + nomContact
+ ", prenom = "
+ prenomContact + ", email = " + emailContact + "." );
}
} catch ( SQLException e ) {
messages.add( "Erreur lors de la connexion : <br/>"
+ e.getMessage() );
} finally {
messages.add( "Fermeture de l'objet ResultSet." );
if ( resultat != null ) {
try {
resultat.close();
} catch ( SQLException ignore ) {
}
}
messages.add( "Fermeture de l'objet Statement." );
if ( statement != null ) {
try {
statement.close();
} catch ( SQLException ignore ) {
}
}
messages.add( "Fermeture de l'objet Connection." );
if ( connexion != null ) {
try {
connexion.close();
} catch ( SQLException ignore ) {
}
}
}
return messages;
}
} |
GestionTestJDBC.java :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| package com.td.servlet;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.td.bdd.TestJDBC;
/**
* Servlet implementation class GestionTestJDBC
*/
@WebServlet("/test_jdbc")
public class GestionTestJDBC extends HttpServlet {
private static final long serialVersionUID = 1L;
public static final String ATT_MESSAGES = "messages";
public static final String VUE = "test_jdbc.jsp";
/**
* @see HttpServlet#HttpServlet()
*/
public GestionTestJDBC() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
/* Initialisation de l'objet Java et récupération des messages */
TestJDBC test = new TestJDBC();
List<String> messages = test.executerTests( request );
/* Enregistrement de la liste des messages dans l'objet requête */
request.setAttribute( ATT_MESSAGES, messages );
/* Transmission vers la page en charge de l'affichage des résultats */
this.getServletContext().getRequestDispatcher( VUE ).forward( request, response );
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
} |
Ma page JSP : test_jdbc.jsp :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Tests JDBC</title>
<link type="text/css" rel="stylesheet" href="<c:url value="/inc/form.css"/>" />
</head>
<body>
<h1>Tests JDBC</h1>
<c:forEach items="${ messages }" var="message" varStatus="boucle">
<p>${ boucle.count }. ${ message }</p>
</c:forEach>
</body>
</html> |
Et pour finir mon fichier web.xml :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| <?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:javaee="http://java.sun.com/xml/ns/javaee" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
<javaee:description>Interface web</javaee:description>
<javaee:display-name>Service bdd</javaee:display-name>
<welcome-file-list>
<welcome-file>test_jdbc.jsp</welcome-file>
</welcome-file-list>
<!--
<servlet>
<servlet-name>GestionTestJDBC</servlet-name>
<servlet-class>com.td.servlet.GestionTestJDBC</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>GestionTestJDBC</servlet-name>
<url-pattern>test_jdbc</url-pattern>
</servlet-mapping>
-->
</web-app> |
Mon problème est que je n'ai aucune erreur ... lol (bonne nouvelle normalement hein ^^) mais dans ma page JSP , je n'ai en aucun cas le résultat en visualisation du contenu de ma base de donnée. Sachant qu'avec ce que ma page jsp contient je cherche juste à afficher tout le contenu dans ma base.
Pouvez vous me dire si j'ai passé au travers de quelquechose.
Merci .