Bonjour à tous,
j'ai un petit projet à faire pour mes cours et je bloque un peu donc je me suis dit que vous pourriez peut-être éclairer ma lanterne
Voilà le topo : Je dois faire un carnet d'adresse à l'aide de JSP/Servlet et conserver les données avec XML ou une base de données à gérer avec JDBC/ODBC.
J'ai réussi à inclure des données dans ma base (mysql) avec ODBC en utilisant les servlets et les jsp. Cependant, mon plus gros problème viens de la selection des données (pour afficher toutes les données de ma table adresse par exemple). En effet, je pense que j'arrive à séléctionner les données côté servlets mais lorsque j'envoi mes données (sous forme de List<String>) au JSP, et que j'essaie de le récupérer dans ce dernier (avec une instruction du genre :
List<String> messages = (List<String>)request.getAttribute("messages");
), ça coince. Il y a un warning :
Type safety: Unchecked cast from Object to List<String>
Et je n'arrive pas a aller plus loin.
Voici des bouts de mon code pour y voir plus clair lol.
Mon servlet :
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
|
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
Class.forName("com.mysql.jdbc.Driver");
/* Connexion à la base de données */
String url = "jdbc:mysql://localhost:3306/carnet";
String utilisateur = "root";
String motDePasse = "";
Connection connexion = null;
Statement stmt = null;
ResultSet getInfosUser = null;
//ArrayList<String> messages = new ArrayList<String>();
//String tabMessages[] = new String [6];
//String tabMessages[][] = new String [][6];
List<String> messages = new ArrayList<String>();
try {
connexion = DriverManager.getConnection( url, utilisateur, motDePasse );
stmt = connexion.createStatement();
getInfosUser = stmt.executeQuery("SELECT * FROM utilisateurs");
while( getInfosUser.next() ){
//int idUser = getInfosUser.getInt("idUser");
String nomIn = getInfosUser.getString("nom");
String prenomIn = getInfosUser.getString("prenom");
String telIn = getInfosUser.getString("tel");
String numRueIn = getInfosUser.getString("numRue");
String nomRueIn = getInfosUser.getString("nomRue");
String villeIn = getInfosUser.getString("ville");
//messages.add(String.valueOf(idUser));
messages.add(nomIn);
messages.add(prenomIn);
messages.add(telIn);
messages.add(numRueIn);
messages.add(nomRueIn);
messages.add(villeIn);
}
request.setAttribute("messages", messages);
} catch ( SQLException e ) {
/* Gérer les éventuelles erreurs ici */
} finally {
if ( getInfosUser != null )
try {
/* Fermeture de la connexion */
getInfosUser.close();
} catch ( SQLException ignore ) {
/* Si une erreur survient lors de la fermeture, il suffit de l'ignorer. */
}
if ( stmt != null )
try {
/* Fermeture de la connexion */
stmt.close();
} catch ( SQLException ignore ) {
/* Si une erreur survient lors de la fermeture, il suffit de l'ignorer. */
}
if ( connexion != null )
try {
/* Fermeture de la connexion */
connexion.close();
} catch ( SQLException ignore ) {
/* Si une erreur survient lors de la fermeture, il suffit de l'ignorer. */
}
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
getServletContext().getRequestDispatcher("/listerAdressesBD.jsp").forward(request, response);
} |
et mon jsp :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
<%
List<String> messages = (List<String>)request.getAttribute("messages");
%>
<table>
<tr>
<td>NOM</td>
<td>PRENOM</td>
<td>TEL</td>
<td>NUM_RUE</td>
<td>NOM_RUE</td>
<td>VILLE</td>
</tr>
<tr>
<td><% //messages.get(1); %></td>
</tr>
</table> |
Vous avez un idée ? merci d'avance
Partager