Page d'erreur JEE
Résolu
ginfo2012
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
ginfo2012 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
ginfo2012 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
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
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
3 réponses
-
Et si tu ne throw pas l'erreur, et que tu en génère une, quelle erreur apparaît dans la log Tomcat?
-
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. -
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