Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème de limite de taille d'une JSP

Sujet résolu
    22 septembre 2011 à 12:08:40

    Bonjour !


    Après avoir modifié une de mes JSP, j'ai une erreur de type : The code of method _jspService(HttpServletRequest, HttpServletResponse) is exceeding the 65535 bytes limit


    J'ai donc cherché des infos pour contourner cette limite. Actuellement, j'utilise des <%@ include file="..."%> pour inclure mes différentes JSP. D'après mes recherches, avec des <jsp:include page="..." flush="true"/>, il serait possible de passer outre la limite des 65535 bytes.

    Cependant, il me demande de passer des paramètres avec <jsp:param name="..." value="..."/> mais je n'ai aucune idée de quoi mettre en paramètre et même en regardant sur mon ami Google, je ne comprends pas comment remplir ces champs.

    Les-dits paramètres sont les paramètres qu'utilise ma page JSP à inclure ? ou autre chose ?


    Merci ! :-°
    • Partager sur Facebook
    • Partager sur Twitter
      22 septembre 2011 à 12:31:33

      C'est pas très clair...

      Qui te demande de passer des paramètre ?
      Où ?
      Pourquoi ?

      Autre question :
      Comment tu fait pour avoir une JSP de plus 64Ko ?
      Tu as codé toute ton appli dans cette seul JSP ou quoi ?
      • Partager sur Facebook
      • Partager sur Twitter
        22 septembre 2011 à 12:55:40

        J'vais essayer de faire plus cair :-°

        J'ai fait des essais avec <jsp:include page="..." flush="true"/> pour contourner la limite et quand je lance mon projet sur le serveur Tomcat 5.5 utilisé, il me retourne une erreur me disant de passer des paramètres avec <jsp:param name="..." value="..."/>. Mais, comme je l'ai dit précédemment, je ne sais pas quoi passer en paramètre.

        J'ai rien fait, c'est un projet qui date, codé n'importe comment et que j'ai repris il y a pas longtemps. (Mais non, je te rassure, il n'y a pas que cette JSP :p )
        • Partager sur Facebook
        • Partager sur Twitter
          22 septembre 2011 à 14:09:41

          Et on peut la voir cette erreur ?

          C'est peut être les paramètre de méthode _jspService(HttpServletRequest, HttpServletResponse) mais je suis pas sûr. Sinon regarde si la JSP accède à des paramètre, au quel cas c'est peut être eux qu'il faut inclure.

          Il fraudait voir la trace de l'erreur pour plus de détail, tu peux nous la donner ?
          • Partager sur Facebook
          • Partager sur Twitter
            22 septembre 2011 à 14:17:21

            Voilà l'erreur :

            Citation

            type Rapport d'exception

            message

            description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.

            exception

            org.apache.jasper.JasperException: Impossible de compiler la classe pour la JSP:


            An error occurred at line: 88 in the generated java file
            The code of method _jspService(HttpServletRequest, HttpServletResponse) is exceeding the 65535 bytes limit

            Stacktrace:
            org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:93)
            org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
            org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:451)
            org.apache.jasper.compiler.Compiler.compile(Compiler.java:319)
            org.apache.jasper.compiler.Compiler.compile(Compiler.java:298)
            org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
            org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
            org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:302)
            org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:321)
            org.apache.jasper.servlet.JspServlet.service(JspServlet.java:257)
            javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
            org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265)
            org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
            org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
            org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
            org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
            org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
            org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:286)
            org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
            org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149)
            org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)

            note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/5.5.29.




            Et voilà la trace de l'erreur (Prise dans le .log) :

            Citation

            Hibernate: select loginentit0_.Login as Login25_0_, loginentit0_.motdepasse as motdepasse25_0_ from login loginentit0_ where loginentit0_.Login=?
            Hibernate: select ressourcet0_.IdRessource as IdRessou1_9_, ressourcet0_.Date_Depart as Date4_9_, ressourcet0_.derniereConnexion as derniere5_9_, ressourcet0_.IdGroupe as IdGroupe9_, ressourcet0_.Login as Login9_, ressourcet0_.Nom as Nom9_, ressourcet0_.Prenom as Prenom9_ from ressource_tma ressourcet0_ where ressourcet0_.Login='AAL' limit ?
            Hibernate: select groupetmae0_.IdGroupe as IdGroupe23_2_, groupetmae0_.REF_CALENDRIER as REF3_23_2_, groupetmae0_.IdGroupeParent as IdGroupe4_23_2_, groupetmae0_.NomGroupe as NomGroupe23_2_, calendrier1_.ID_CALENDRIER as ID1_5_0_, calendrier1_.REF_PAYS as REF2_5_0_, calendrier1_.NOM_CALENDRIER as NOM3_5_0_, groupetmae2_.IdGroupe as IdGroupe23_1_, groupetmae2_.REF_CALENDRIER as REF3_23_1_, groupetmae2_.IdGroupeParent as IdGroupe4_23_1_, groupetmae2_.NomGroupe as NomGroupe23_1_ from groupe_tma groupetmae0_ left outer join calendrier calendrier1_ on groupetmae0_.REF_CALENDRIER=calendrier1_.ID_CALENDRIER left outer join groupe_tma groupetmae2_ on groupetmae0_.IdGroupeParent=groupetmae2_.IdGroupe where groupetmae0_.IdGroupe=?
            Hibernate: select ressourcet0_.IdRessource as IdRessou1_9_, ressourcet0_.Date_Depart as Date4_9_, ressourcet0_.derniereConnexion as derniere5_9_, ressourcet0_.IdGroupe as IdGroupe9_, ressourcet0_.Login as Login9_, ressourcet0_.Nom as Nom9_, ressourcet0_.Prenom as Prenom9_ from ressource_tma ressourcet0_ where ressourcet0_.Login='AAL' limit ?
            Hibernate: select groupetmae0_.IdGroupe as IdGroupe23_2_, groupetmae0_.REF_CALENDRIER as REF3_23_2_, groupetmae0_.IdGroupeParent as IdGroupe4_23_2_, groupetmae0_.NomGroupe as NomGroupe23_2_, calendrier1_.ID_CALENDRIER as ID1_5_0_, calendrier1_.REF_PAYS as REF2_5_0_, calendrier1_.NOM_CALENDRIER as NOM3_5_0_, groupetmae2_.IdGroupe as IdGroupe23_1_, groupetmae2_.REF_CALENDRIER as REF3_23_1_, groupetmae2_.IdGroupeParent as IdGroupe4_23_1_, groupetmae2_.NomGroupe as NomGroupe23_1_ from groupe_tma groupetmae0_ left outer join calendrier calendrier1_ on groupetmae0_.REF_CALENDRIER=calendrier1_.ID_CALENDRIER left outer join groupe_tma groupetmae2_ on groupetmae0_.IdGroupeParent=groupetmae2_.IdGroupe where groupetmae0_.IdGroupe=?
            Hibernate: select ressourcet0_.IdRessource as IdRessou1_9_, ressourcet0_.Date_Depart as Date4_9_, ressourcet0_.derniereConnexion as derniere5_9_, ressourcet0_.IdGroupe as IdGroupe9_, ressourcet0_.Login as Login9_, ressourcet0_.Nom as Nom9_, ressourcet0_.Prenom as Prenom9_ from ressource_tma ressourcet0_ where ressourcet0_.Login='AAL' limit ?
            Hibernate: select groupetmae0_.IdGroupe as IdGroupe23_2_, groupetmae0_.REF_CALENDRIER as REF3_23_2_, groupetmae0_.IdGroupeParent as IdGroupe4_23_2_, groupetmae0_.NomGroupe as NomGroupe23_2_, calendrier1_.ID_CALENDRIER as ID1_5_0_, calendrier1_.REF_PAYS as REF2_5_0_, calendrier1_.NOM_CALENDRIER as NOM3_5_0_, groupetmae2_.IdGroupe as IdGroupe23_1_, groupetmae2_.REF_CALENDRIER as REF3_23_1_, groupetmae2_.IdGroupeParent as IdGroupe4_23_1_, groupetmae2_.NomGroupe as NomGroupe23_1_ from groupe_tma groupetmae0_ left outer join calendrier calendrier1_ on groupetmae0_.REF_CALENDRIER=calendrier1_.ID_CALENDRIER left outer join groupe_tma groupetmae2_ on groupetmae0_.IdGroupeParent=groupetmae2_.IdGroupe where groupetmae0_.IdGroupe=?
            Hibernate: select interlocut0_.nom as nom36_, interlocut0_.prenom as prenom36_, interlocut0_.derniereConnexion as derniere3_36_, interlocut0_.Login as Login36_, interlocut0_.IdSite as IdSite36_ from interlocuteur interlocut0_ where interlocut0_.Login='AAL' limit ?
            Hibernate: select ressourcet0_.IdRessource as IdRessou1_9_, ressourcet0_.Date_Depart as Date4_9_, ressourcet0_.derniereConnexion as derniere5_9_, ressourcet0_.IdGroupe as IdGroupe9_, ressourcet0_.Login as Login9_, ressourcet0_.Nom as Nom9_, ressourcet0_.Prenom as Prenom9_ from ressource_tma ressourcet0_ where ressourcet0_.Login='AAL' limit ?
            Hibernate: select groupetmae0_.IdGroupe as IdGroupe23_2_, groupetmae0_.REF_CALENDRIER as REF3_23_2_, groupetmae0_.IdGroupeParent as IdGroupe4_23_2_, groupetmae0_.NomGroupe as NomGroupe23_2_, calendrier1_.ID_CALENDRIER as ID1_5_0_, calendrier1_.REF_PAYS as REF2_5_0_, calendrier1_.NOM_CALENDRIER as NOM3_5_0_, groupetmae2_.IdGroupe as IdGroupe23_1_, groupetmae2_.REF_CALENDRIER as REF3_23_1_, groupetmae2_.IdGroupeParent as IdGroupe4_23_1_, groupetmae2_.NomGroupe as NomGroupe23_1_ from groupe_tma groupetmae0_ left outer join calendrier calendrier1_ on groupetmae0_.REF_CALENDRIER=calendrier1_.ID_CALENDRIER left outer join groupe_tma groupetmae2_ on groupetmae0_.IdGroupeParent=groupetmae2_.IdGroupe where groupetmae0_.IdGroupe=?
            Hibernate: update ressource_tma set Date_Depart=?, derniereConnexion=?, IdGroupe=?, Login=?, Nom=?, Prenom=? where IdRessource=?
            Hibernate: select parametres0_.cle as cle103_0_, parametres0_.valeur as valeur103_0_ from parametres parametres0_ where parametres0_.cle=?
            Hibernate: select parametres0_.cle as cle103_0_, parametres0_.valeur as valeur103_0_ from parametres parametres0_ where parametres0_.cle=?
            Hibernate: select parametres0_.cle as cle103_0_, parametres0_.valeur as valeur103_0_ from parametres parametres0_ where parametres0_.cle=?
            Hibernate: select parametres0_.cle as cle103_0_, parametres0_.valeur as valeur103_0_ from parametres parametres0_ where parametres0_.cle=?

            • Partager sur Facebook
            • Partager sur Twitter
              22 septembre 2011 à 14:33:02

              Citation : EpikFail

              J'ai fait des essais avec <jsp:include page="..." flush="true"/> pour contourner la limite et quand je lance mon projet sur le serveur Tomcat 5.5 utilisé, il me retourne une erreur me disant de passer des paramètres avec <jsp:param name="..." value="..."/>. Mais, comme je l'ai dit précédemment, je ne sais pas quoi passer en paramètre.



              C'est plutôt de cette erreur que je parlais. ^^
              • Partager sur Facebook
              • Partager sur Twitter
                22 septembre 2011 à 15:23:41

                Ah ba, il n'y a plus l'erreur. Je sais pas trop pourquoi o_O


                Du coup, si on résume où j'en suis :

                J'ai séparé ma JSP en deux parties, dans la première, j'y ai mis un <jsp:include page="..." flush="true"/> qui appelle la deuxième.
                Cependant, la deuxième n'est pas appelé.
                J'ai mis des traces pour voir où l’exécution s'arrête, et c'est juste avant l'include.

                Je n'ai ni erreur de compilation, ni erreur sur le serveur, ni trace bizarre dans les .log.


                Des idées pourquoi ma JSP appelée ne s’exécute pas ?
                • Partager sur Facebook
                • Partager sur Twitter
                  22 septembre 2011 à 16:30:52

                  Tu as tenté de redémarrer l'appli ?
                  On sais jamais ... ^^
                  • Partager sur Facebook
                  • Partager sur Twitter
                    22 septembre 2011 à 16:35:02

                    Oui oui, je le fais à chaque modification du code.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      22 septembre 2011 à 16:42:27

                      Tu peux nous mettre le code ou tu fait l'include ?

                      Tu as tenté de débugger l'appli ?
                      • Partager sur Facebook
                      • Partager sur Twitter
                        23 septembre 2011 à 0:22:19

                        Finalement j'ai abandonné l'idée de l'include. Je vais essayer de nettoyer un maximum le code pour me faire gagner de la place.

                        Merci quand même Techniv !! :)
                        • Partager sur Facebook
                        • Partager sur Twitter
                          23 septembre 2011 à 1:29:56

                          Si tu arrives à la limite des 64 ko, c'est que tu as un énorme problème quelque part.
                          Une page normalement conçue est très, très loin de cette limite.
                          • Partager sur Facebook
                          • Partager sur Twitter

                          Problème de limite de taille d'une JSP

                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                          • Editeur
                          • Markdown