Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur au niveau du filtre: Set Character Encoding

Tuto: Créez votre application web avec Java EE

Sujet résolu
    7 septembre 2014 à 16:52:25

    Bonjour

    Je suis en train de créer une application JEE en me basant sur le tutoriel "Créez votre application web avec Java EE". Pour l'instant mon application démarre bien mais dès que j'ajoute le filtre dans mon web.xml j'ai ce message d'erreur:

    sept. 07, 2014 3:43:01 PM org.apache.catalina.core.StandardContext filterStart
    Grave: Exception au démarrage du filtre Set Character Encoding
    java.lang.NullPointerException
    	at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:521)
    	at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:514)
    	at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:133)
    	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:257)
    	at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:383)
    	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:104)
    	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4650)
    	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5306)
    	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    	at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1256)
    	at org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:376)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    	at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    	at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
    	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    	at java.lang.Thread.run(Thread.java:744)



    Voici le code xml que j'ai ajouté:

      <filter>
    <filter-name>Set Character Encoding</filter-name>
    <filterclass>
    org.apache.catalina.filters.SetCharacterEncodingFilter</filterclass>
    <init-param>
    <param-name>encoding</param-name>
    <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
    <param-name>ignore</param-name>
    <param-value>false</param-value>
    </init-param>
    </filter>

    Y a t il un Jar que je dois ajouter?

    J'utilise Apache Tomcat 7.0.34.0 et je suis sous netbeans.

    Merci


    -
    Edité par momjunior 7 septembre 2014 à 16:54:32

    • Partager sur Facebook
    • Partager sur Twitter
      7 septembre 2014 à 18:00:24

      Bonjour.

      Tu n'as que ça comme exception ?
      Il n'y a pas une suite caused by ?

      Est-ce que ton IDE connait la classe org.apache.catalina.filters.SetCharacterEncodingFilter ?
      Ctrl+Maj+T sous Eclipse par exemple, puis vérifie qu'elle est bien dans ton projet.

      • Partager sur Facebook
      • Partager sur Twitter
      Angular 2 est l'avenir, jQuery c'est de la merde !!! - Java 8 c'est l'an 2016+ (programmez en 1 ligne)
        7 septembre 2014 à 23:00:26

        Non je n'ai que ça comme erreur :(.

        Quel est l'équivalent de Ctrl+Maj+T sous Netbeans?

        • Partager sur Facebook
        • Partager sur Twitter
          10 septembre 2014 à 22:59:22

          Comment vérifier si le chemin ci-dessous existe vraiment dans mon application:

          <filterclass>
          org.apache.catalina.filters.SetCharacterEncodingFilter</filterclass>



          -
          Edité par momjunior 10 septembre 2014 à 23:00:24

          • Partager sur Facebook
          • Partager sur Twitter
            11 septembre 2014 à 21:20:58

            Au temps pour moi, la classe est bien connue de ton application.

            L'erreur vient d'ailleurs, par contre je ne sais pas trop d'où.

            • Partager sur Facebook
            • Partager sur Twitter
            Angular 2 est l'avenir, jQuery c'est de la merde !!! - Java 8 c'est l'an 2016+ (programmez en 1 ligne)
              14 novembre 2014 à 12:19:17

              Quel idiot :-°. J'avais mis ce problème de coté et là un beau matin j'ai décidé de revoir ce qui n'allait pas et...:magicien:: j'ai trouvé. Au niveau de la ligne :

              <filterclass>
              org.apache.catalina.filters.SetCharacterEncodingFilter</filterclass>

              J'ai omis le tiret entre filter et class. Donc c'est

              <filter-class>

              au lieu de:

              <filterclass>

               Tout bête.

              Encore merci

              • Partager sur Facebook
              • Partager sur Twitter
                20 novembre 2014 à 23:06:08

                Euh...encore moi :p. Je n'ai plus de message d'erreur mais le filtre SetCharacterEncodingFilter n'est pas pris en compte c'est-à-dire que j'ai toujours des caractères bizarres à la place des "é" par exemple. 

                -
                Edité par momjunior 20 novembre 2014 à 23:11:26

                • Partager sur Facebook
                • Partager sur Twitter
                  26 janvier 2015 à 15:02:22

                  momjunior a écrit:

                  Euh...encore moi :p. Je n'ai plus de message d'erreur mais le filtre SetCharacterEncodingFilter n'est pas pris en compte c'est-à-dire que j'ai toujours des caractères bizarres à la place des "é" par exemple. 

                  -
                  Edité par momjunior le 20 novembre 2014 à 23:11:26

                  Ouf!! Tu m'as fait peur Junior, j'ai cru avant ton dernier message que j’étais le seul à avoir ce problème d'encodage qui n'est pas pris encore!

                  Si tu ou quelqu'un trouve la réponse, pourrez le partager parce que ça commence à être chiant de ne pas pouvoir résoudre le problème

                  • Partager sur Facebook
                  • Partager sur Twitter
                    26 janvier 2015 à 16:49:36

                    Je viens de découvrir que les formulaires html qui sont sensés envoyer les données dans un encodage x doit se voir définir l'attribut

                    Accept-charset = "x";  Dans mon cas c'est:

                    <form ... Accept-charset = "UTF-8">
                    ...
                    </form>

                    Et cette spécification m'a l'air complètement indépendante de la déclaration du filtre apache dans le web.xml.

                    Voir la source suivante : Gestion de l'encodage UTF-8 dans les applications Web Java avec Tomcat et Mysql

                    • Partager sur Facebook
                    • Partager sur Twitter
                      26 janvier 2015 à 17:28:40

                      armelo a écrit:

                      Je viens de découvrir que les formulaires html qui sont sensés envoyer les données dans un encodage x doit se voir définir l'attribut

                      Accept-charset = "x";  Dans mon cas c'est:

                      <form ... Accept-charset = "UTF-8">
                      ...
                      </form>

                      Et cette spécification m'a l'air complètement indépendante de la déclaration du filtre apache dans le web.xml.

                      Voir la source suivante : Gestion de l'encodage UTF-8 dans les applications Web Java avec Tomcat et Mysql

                      Correction:

                      Je viens de faire les test:

                      Pour que tout fonctionner bien il faut et la déclaration du filtre Apache dans le web.xml, et la définition de l'attribut Accept-charset dans le formulaire pour que tout se passe bien !!

                      Je note également qu'en ce qui concerne les simple donnée (en dehors de l'envoi de fichier), le paramètre d’initialisation ignore n'a aucun effet sur l'encodage reçu du client. donc qu'il soit à "true" ou à "false", ça marche pareil.

                      • Partager sur Facebook
                      • Partager sur Twitter
                        27 janvier 2015 à 12:33:56

                        Mon gars t'es trop fort :zorro:. Ça marche :lol:
                        • Partager sur Facebook
                        • Partager sur Twitter
                          27 janvier 2015 à 13:51:07

                          momjunior a écrit:

                          Mon gars t'es trop fort :zorro:. Ça marche :lol:


                          Merci !!

                          Saurais tu ou trouver des webservice fournissant : Les listes de metier ou d'emplois et d'adresses postal de france dans un premier temps?

                          J'en ai besoin pour un projet.

                          D'avance Merci!!

                          • Partager sur Facebook
                          • Partager sur Twitter
                            27 janvier 2015 à 22:22:39

                            Désolé, je ne sais vraiment pas.
                            • Partager sur Facebook
                            • Partager sur Twitter

                            Erreur au niveau du filtre: Set Character Encoding

                            × 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