Bonjour,
Suite a une requête "Select" , tomcat 9 me renvoie une erreur 500.
Je ne sais pas encore décrypter les erreur 500 de tomcat, faut t'il regarder le fichier log du Tomcat 9.0.2. ??
voici l'erreur 500
Ma servlet
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 État HTTP 500 Internal Server Error Type Rapport d''exception message Erreur à l'instantiation de la classe servlet [Form_nom] description Le serveur a rencontré une erreur interne qui l''a empêché de satisfaire la requête. exception javax.servlet.ServletException: Erreur à l'instantiation de la classe servlet [Form_nom] org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:651) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:501) org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:754) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1376) org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.lang.Thread.run(Thread.java:748) cause mère java.lang.ClassNotFoundException: Form_nom org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1275) org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1104) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:651) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:501) org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:754) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1376) org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.lang.Thread.run(Thread.java:748) note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de ce serveur. Apache Tomcat/9.0.2
Un morceau de mon bean
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 package com.boticiel.servlets; import java.io.IOException; 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.boticiel.bdd.Noms; import com.boticiel.beans.BeanException; import com.boticiel.beans.Utilisateur; /** * Servlet implementation class Test */ @WebServlet("/Form_nom") public class Form_nom extends HttpServlet { private static final long serialVersionUID = 1L; public Form_nom() { super(); // TODO Auto-generated constructor stub } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Noms tableNoms = new Noms(); request.setAttribute("utilisateurs", tableNoms.recupererUtilisateurs()); this.getServletContext().getRequestDispatcher("/WEB-INF/form_nom.jsp").forward(request, response); } public void doPost( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException { Utilisateur utilisateur = new Utilisateur(); try { utilisateur.setNom(request.getParameter("nom")); } catch (BeanException e) { // TODO Auto-generated catch block e.printStackTrace(); } utilisateur.setPrenom(request.getParameter("prenom")); Noms tableNoms = new Noms(); tableNoms.ajouterUtilisateur(utilisateur); request.setAttribute("utilisateurs", tableNoms.recupererUtilisateurs()); this.getServletContext().getRequestDispatcher("/WEB-INF/form_nom.jsp").forward(request, response); }
plus + le loaddatabase
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 try { statement = connexion.createStatement(); // Exécution de la requête resultat = statement.executeQuery("SELECT nom, prenom FROM noms;"); // Récupération des données while (resultat.next()) { String nom = resultat.getString("nom"); String prenom = resultat.getString("prenom"); Utilisateur utilisateur = new Utilisateur(); try { utilisateur.setNom(nom); } catch (BeanException e) { // TODO Auto-generated catch block e.printStackTrace(); } utilisateur.setPrenom(prenom); utilisateurs.add(utilisateur); } } catch (SQLException e) { } finally { // Fermeture de la connexion try { if (resultat != null) resultat.close(); if (statement != null) statement.close();
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 private void loadDatabase() { // Chargement du driver try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { } try { connexion = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/javaee", "root", ""); } catch (SQLException e) { e.printStackTrace(); } } public void ajouterUtilisateur(Utilisateur utilisateur) { loadDatabase(); try { PreparedStatement preparedStatement = connexion.prepareStatement("INSERT INTO noms(nom, prenom) VALUES(?, ?);"); preparedStatement.setString(1, utilisateur.getNom()); preparedStatement.setString(2, utilisateur.getPrenom()); preparedStatement.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } }
Partager