problème affichage des données mysql dans la vue
Bonjour Tout le monde , je débute en jEE , et je suis bloquée dans le problèmes d'affichages des données mysql
Je vous prie de bien vouloir m'aider ça fait presque deux jours que je chercher sur l'internet mais en vain , ça me tape sur les nerfs :(
voici le code de mon jsp
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
| <%@ 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>
<form method="post" action= "test_jdbc">
<p>
<label for="nom"> Nom : </label>
<input type="text" name="nom" id="nom" />
</p>
<p>
<label for="email"> Email : </label>
<input type="text" name="email" id="email" />
</p>
<input type="submit" />
</form>
<ul>
<c:forEach var="Utilisateur" items="${utilisateurs } ">
<li>
<c:out value="${Utilisateur.nom }" />
<c:out value="${Utilisateur.email }" />
</li>
</c:forEach>
</ul>
</body>
</html> |
celui de ma servlet
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
| package com.sdzee.servlets;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.sdzee.bdd.TestJDBC;
import com.sdzee.beans.Utilisateur;
public class GestionTestJDBC extends HttpServlet {
public static final String ATT_MESSAGES = "utilisateurs";
public static final String VUE = "/WEBINF/test_jdbc.jsp";
public void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException
{
TestJDBC tableNoms = new TestJDBC();
request.setAttribute("utilisateurs" , tableNoms.recupererUtilsateurs());
this.getServletContext().getRequestDispatcher("/web-INF/test_jdbc.jsp").forward(request, response);
}
public void doPost ( HttpServletRequest request , HttpServletResponse response ) throws ServletException , IOException {
Utilisateur utilisateur = new Utilisateur() ;
utilisateur.setNom(request.getParameter("nom"));
utilisateur.setEmail(request.getParameter("email"));
TestJDBC tableNoms = new TestJDBC();
tableNoms.ajouterUtilisateur(utilisateur);
request.setAttribute("utilisateurs" , tableNoms.recupererUtilsateurs());
this.getServletContext().getRequestDispatcher("/web-INF/test_jdbc.jsp").forward(request, response);
}
} |
ma classe 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 92
| package com.sdzee.bdd;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import com.sdzee.beans.Utilisateur;
public class TestJDBC {
public List<Utilisateur> recupererUtilsateurs() {
List<Utilisateur> utilisateurs = new ArrayList<Utilisateur>();
try {
Class.forName( "com.mysql.jdbc.Driver" );
} catch ( ClassNotFoundException e ) {
}
try {
Class.forName( "com.mysql.jdbc.Driver" );
} catch ( ClassNotFoundException e ) {
}
Connection connexion = null;
Statement statement = null;
ResultSet resultat = null;
loadDatabase();
try {
connexion = DriverManager.getConnection( "jdbc:mysql://localhost:3306/flotte_mobile", "root", "**********" );
statement = connexion.createStatement();
resultat = statement.executeQuery( "SELECT nom , email FROM user ;" );
while ( resultat.next() ) {
String email = resultat.getString( "email" );
String nom = resultat.getString("motdepasse" );
String motdepasse = resultat.getString( "nom" );
Utilisateur utilisateur = new Utilisateur() ;
utilisateur.setNom("nom");
utilisateur.setEmail("Email");
utilisateurs.add(utilisateur);
}
} catch ( SQLException e ) {
} finally {
try {
if ( resultat != null )
resultat.close();
if ( statement != null )
statement.close();
if ( connexion != null )
connexion.close();
}catch ( SQLException ignore) {
}
}
return utilisateurs;
}
private void loadDatabase() {
try {
Class.forName("com.mysql.jdbc.Driver");
}catch ( ClassNotFoundException e) {
}
Connection connexion = null;
try {
connexion = DriverManager.getConnection("jdbc:mysql://localhost:3306/flotte_mobile", "root", "*******");
}catch(SQLException e ) {
e.printStackTrace();
}
}
public void ajouterUtilisateur(Utilisateur utilisateur) {
loadDatabase() ;
Connection connexion = null;
try {
PreparedStatement preparedStatement = connexion.prepareStatement("INSERT INTO user ( email ,nom ) VALUES (? , ? );");
preparedStatement.setString(1, utilisateur.getEmail());
preparedStatement.setString(2, utilisateur.getNom());
preparedStatement.executeUpdate() ;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} |
l'erreur lors de l'exécution
description Le serveur a rencontré une erreur interne qui l''a empêché de satisfaire la requête.
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
| exception
org.apache.jasper.JasperException: An exception occurred processing JSP page /test_jdbc.jsp at line 31
28: <ul>
29: <c:forEach var="Utilisateur" items="${utilisateurs } ">
30: <li>
31: <c:out value="${Utilisateur.nom }" />
32: <c:out value="${Utilisateur.email }" />
33: </li>
34: </c:forEach>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:613)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
cause mère
javax.el.PropertyNotFoundException: Property 'nom' not found on type java.lang.String
javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:291)
javax.el.BeanELResolver$BeanProperties.access$300(BeanELResolver.java:243)
javax.el.BeanELResolver.property(BeanELResolver.java:378)
javax.el.BeanELResolver.getValue(BeanELResolver.java:97)
org.apache.jasper.el.JasperELResolver.getValue(JasperELResolver.java:104)
org.apache.el.parser.AstValue.getValue(AstValue.java:184)
org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:190)
org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:950)
org.apache.jsp.test_005fjdbc_jsp._jspx_meth_c_005fout_005f0(test_005fjdbc_jsp.java:244)
org.apache.jsp.test_005fjdbc_jsp._jspx_meth_c_005fforEach_005f0(test_005fjdbc_jsp.java:201)
org.apache.jsp.test_005fjdbc_jsp._jspService(test_005fjdbc_jsp.java:123)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:472)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de ce serveur. |