erreur 500 suite a une requête
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
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
| É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 |
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 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);
} |
Un morceau de mon bean
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
| 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(); |
plus + le loaddatabase
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
| 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();
}
} |