IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Exception IndexOutOfBounds incompréhensible


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 219
    Par défaut Exception IndexOutOfBounds incompréhensible
    Bonjour,
    j'ai une exception de ce type en exécutant une servlet:

    GRAVE: "Servlet.service()" pour la servlet jsp a lancé une exception
    java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
    at java.util.ArrayList.RangeCheck(ArrayList.java:547)
    at java.util.ArrayList.get(ArrayList.java:322)
    at org.apache.jsp.error_jsp._jspService(error_jsp.java:71)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
    at eda.Controler.doPost(Controler.java:36)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Thread.java:619)
    Je ne comprend vraiment où il peut y avoir un débordement d'indice dans mon code relativement simple:

    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
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
            response.setContentType("text/html;charset=UTF-8");
            PrintWriter out = response.getWriter();
            try {
                String nom = request.getParameter("skin_name");
                String type = request.getParameter("skin_type");
                String filename = request.getParameter("skin_filename");
                String size = request.getParameter("skin_size");
                String image = request.getParameter("skin_image");
     
     
     
                if(nom.length() == 0 || filename.length() == 0 || size.length() == 0 || image.length() ==0) {
                    ArrayList<String> errors = new ArrayList<String>();
                    errors.add("Tous les champs ne sont pas remplis!");
                    request.setAttribute("errors", errors);
                    getServletContext().getRequestDispatcher("/error.jsp").forward(request, response);
                } 
                else {
                    if(XMLParser.addSkin(nom, type, filename, size, image)) {
                        request.setAttribute("msg", "succès!");
                        getServletContext().getRequestDispatcher("/skin_upload.jsp").forward(request, response);
                    }            
                }
     
            } finally { 
                out.close();
            }
        }
    Pouvez vous m'aider svp? Merci.

  2. #2
    Membre chevronné Avatar de djsnipe
    Inscrit en
    Mai 2008
    Messages
    440
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 440
    Par défaut
    Ce n'est pas plutôt dans la JSP que ça plante ? Rapport à cette ligne de la stack : " at org.apache.jsp.error_jsp._jspService(error_jsp.java:71)"

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 219
    Par défaut
    Désolé j'ai beaucoup de mal à lire les logs de tomcat, je trouve qu'il y a trop d'infos. Voici le code de ma jsp:

    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
    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <%@page import="java.util.ArrayList"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
     
       <% ArrayList errors = (ArrayList)request.getAttribute("errors"); %>
     
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>Erreurs</title>
        </head>
        <body>
            <% for(int i=0; i<errors.size(); i++) {
                out.println((String)errors.get(i));
            }%>
        </body>
    </html>

  4. #4
    Membre chevronné Avatar de djsnipe
    Inscrit en
    Mai 2008
    Messages
    440
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 440
    Par défaut
    Heu .......
    Et si tu supprimes "out.println((String)errors.get(i));" de la JSP il n'y a plus d'erreur ???

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 219
    Par défaut
    Si, toujours la même erreur.

  6. #6
    Membre chevronné Avatar de djsnipe
    Inscrit en
    Mai 2008
    Messages
    440
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 440
    Par défaut
    Ouf, quelque part ça me rassure, je ne voyais vraiment pas comment ce code pouvait produire cette exception
    Ben, y'a plus qu'a rechercher quelles JSP sont exécutées lorsque ta stack apparait. Clairement, ce n'était pas cette JSP.

  7. #7
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 219
    Par défaut
    J'ai trouvé le problème, bête mais étrange cependant. J'ai complié une première fois ma jsp avec une opération <= à la place de <, mais j'avais corrigé et mon ide ne mettais pas à jour même après recompliation complète. J'ai supprimé puis recréé ma jsp et tout fonctionne. Merci pour votre aide!

  8. #8
    Membre chevronné Avatar de djsnipe
    Inscrit en
    Mai 2008
    Messages
    440
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 440
    Par défaut
    Héhéhé, voir les problèmes sur le rafraichissement du cache de JSP compilées de Tomcat dans les forums ....

  9. #9
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 219
    Par défaut
    En fait la jsp était bien modifiée mais pas moyen pour sa servlet. C'est la première fois que ça m'arrive avec Netbeans.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Exception WCF incompréhensible
    Par bleuerouge dans le forum Windows Communication Foundation
    Réponses: 2
    Dernier message: 16/08/2010, 11h15
  2. Un exception NullReferenceException incompréhensible
    Par gabdeschenes dans le forum ASP.NET
    Réponses: 2
    Dernier message: 28/04/2009, 19h21
  3. Exception EOleException incompréhensible
    Par Eric Beaumard dans le forum Bases de données
    Réponses: 6
    Dernier message: 28/01/2008, 14h27
  4. [Javamail] Exception incompréhensible
    Par GLDavid dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 24/07/2007, 18h01
  5. [eVC] Gestion d'exception incompréhensible
    Par basnifo dans le forum Visual C++
    Réponses: 12
    Dernier message: 25/10/2006, 13h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo