Page d'erreur JEE

Résolu/Fermé
ginfo2012 Messages postés 10 Date d'inscription vendredi 18 novembre 2011 Statut Membre Dernière intervention 19 novembre 2011 - 19 nov. 2011 à 14:07
ginfo2012 Messages postés 10 Date d'inscription vendredi 18 novembre 2011 Statut Membre Dernière intervention 19 novembre 2011 - 19 nov. 2011 à 15:35
Bonjour,
j'ai un formulaire que je dois remplir, et y a un champ pour inserer l'age
je veux que quand le user insert l'age l'exception numberformatexception se lance
et une page d'ereur s'affiche
j'ai créer une page.html pour afficher l'erreur
dans we.xml j'ai ajouter les lignes suivantes

<error-page>
<exception-type>java.lang.NumberFormatException</exception-type>
<location>/WEB-INF/numbererror.html</location>
</error-page>
et dans ma servlet j'ai met :

protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException, NumberFormatException
MAis pourtant ça ne marche pas
ma page d'erreur ne s'affiche pas


A voir également:

3 réponses

arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
19 nov. 2011 à 14:10
Et si tu ne throw pas l'erreur, et que tu en génère une, quelle erreur apparaît dans la log Tomcat?
0
ginfo2012 Messages postés 10 Date d'inscription vendredi 18 novembre 2011 Statut Membre Dernière intervention 19 novembre 2011
19 nov. 2011 à 14:11
j'utilise pas tomcat, je travail avec netbeans
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
19 nov. 2011 à 14:12
Netbeans fait aussi serveur d'application?
0
ginfo2012 Messages postés 10 Date d'inscription vendredi 18 novembre 2011 Statut Membre Dernière intervention 19 novembre 2011
19 nov. 2011 à 14:13
Oui il utilise glassfish
0
ginfo2012 Messages postés 10 Date d'inscription vendredi 18 novembre 2011 Statut Membre Dernière intervention 19 novembre 2011
19 nov. 2011 à 14:14
Est ce que je dois supprimer le throw number... et je fais un catch à la fin du programme ?
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
19 nov. 2011 à 14:17
Oui un try catch.
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
19 nov. 2011 à 14:14
OK.

Mais Glassfish doit aussi avoir des logs non? Sinon je suppose qu'à l'exécution cela se fait toujours dans Netbeans, donc autant afficher l'erreur en direct.

Comme ça tu es sûr de quelle exception est levée.
0
ginfo2012 Messages postés 10 Date d'inscription vendredi 18 novembre 2011 Statut Membre Dernière intervention 19 novembre 2011
19 nov. 2011 à 14:22
oui il contient un dossier de log aussi mais je l'ai trouvé vide comme si l'exception ne se lève pas : voilà mon catch : catch (NumberFormatException e ) { log("number required");}
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
19 nov. 2011 à 14:25
Justement, je suppose que tu exécutes ta servlet dans Netbeans donc il doit t'afficher les erreurs en direct non?

Je pensais plutôt à un try catch comme ça :

try
{
....
}
catch(Exception e)
{
System.out.println("Exception : "+e.toString());
}
0
ginfo2012 Messages postés 10 Date d'inscription vendredi 18 novembre 2011 Statut Membre Dernière intervention 19 novembre 2011
19 nov. 2011 à 14:31
c'est fait mais je ne vois rien, meme si je saisi une chaine de caractère à la place d1 entier aucuen exception ne se lève, amis je ne vois pas le résultat!
0
ginfo2012 Messages postés 10 Date d'inscription vendredi 18 novembre 2011 Statut Membre Dernière intervention 19 novembre 2011
19 nov. 2011 à 14:32
je te montre mes codes ? comme ça vous allez bien comprendre de quoi il s'agit, ce sont juste quelques lignes pour tester
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
19 nov. 2011 à 14:35
Bah il y a un souci avant cela alors. La seule solution c'est de passer en mode Debug et de mettre des affichages partout pour comprendre où ça merde.

Pour ceux qui comprennent les Servlet, pourquoi ne pas mettre le code ;-)
0
ginfo2012 Messages postés 10 Date d'inscription vendredi 18 novembre 2011 Statut Membre Dernière intervention 19 novembre 2011
19 nov. 2011 à 14:43
voilà ma servlet :
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException, NumberFormatException {
processRequest(request, response);
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {

out.println("<html>");
out.println("<head>");
out.println("<title>Servlet Hello</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>enregistrement de vos coordonnées effectués </h1>");
out.println("Bonjour " + request.getParameter("civ") + " "+ request.getParameter("nom") + " "+ request.getParameter("pren") +" vous avez "+ Integer.parseInt(request.getParameter("age")) + " ");
out.println("</body>");
out.println("</html>");

}
catch (NumberFormatException e ) { System.out.println("Exception : "+e.toString()); }
// catch (NumberFormatException e ) { log("number required");}
finally {
out.close();
}
} 


voilà mon web.xml :

servlet>
<servlet-name>Hello</servlet-name>
<servlet-class>Package1.Hello</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Hello</servlet-name>
<url-pattern>/Hello</url-pattern>
</servlet-mapping>
<error-page>
<exception-type>java.lang.NumberFormatException</exception-type>
<location>/WEB-INF/numbererror.html</location>
</error-page> 


voilà ma page principale :
<body>
<h1>Enregisterment de vos coordonnés!</h1>
<form action="Hello" method="get">
<table>
<tr><td>Civilité</td>
<td>
<select name="civ">
<option >Monsieur</option>
<option >Madame</option>
<option >Mademoiselle</option>
</select>
</td>
</tr>
<tr><td>Nom</td><td><input name="nom"/></td></tr>
<tr><td>Prenom</td><td><input name="pren"/></td></tr>
<tr><td>Age</td><td><input name="age"/></td></tr>
<tr><td><input type="submit" value ="envoyé" name="ok"></td><td><input type="reset" value ="Annuler" name="annuler"></td></tr>
</table>
</form>
</body> 


et puis la page d'erruer c'est une simple page html
0