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

Développement Web en Java Discussion :

[Débutant] Problème encodage coté client et récupération côté serveur


Sujet :

Développement Web en Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Octobre 2013
    Messages : 10
    Points : 12
    Points
    12
    Par défaut [Débutant] Problème encodage coté client et récupération côté serveur
    Bonjour,

    J'ai récemment décidé de me faire une petite application JEE. Dans cette application j'ai mis en place des formulaires dans les jsps qui appellent des actions et je récupère coté serveur, dans des actions struts 2, les données pour les traiter.

    Or, j'ai un problème niveau du traitement des caractères spéciaux. En effet, quand je passe par exemple la valeur : "ééé" dans un formulaire, j'obtiens dans l'action java le résultat suivant : "ééé".

    Ce qui m'étonne, c'est qu'au niveau de la page jsp, j'ai bien mis les informations suivantes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    Après quelques recherches, j'ai lu qu'il fallait faire un filtre qui se chargeait de définir l'encodage des objets HttpServletRequest et HttpServletResponse.
    Aussi, j'ai créé une classe implémentant l'interface Filter :
    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
     
    package com.naialola.TradWeb.filtres;
     
    import java.io.IOException;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    public class EncodageFiltre implements javax.servlet.Filter {
     
    	private String encoding;
     
     
    	public void init(FilterConfig filterConfig) throws ServletException {
    		this.encoding = filterConfig.getInitParameter("encoding");
    	}
     
     
    	public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException {
    		request.setCharacterEncoding(encoding);
    		filterChain.doFilter(request, response);
    	}
     
     
    	public void destroy() {
    	}
    }
    Ensuite, j'ai déclaré le filtre en tête des filtres du web.xml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <filter>
     	<filter-name>Encodage Filtre</filter-name>
     	<filter-class>com.naialola.TradWeb.filtres.EncodageFiltre</filter-class>
     	<init-param>
     		<param-name>encoding</param-name>
     		<param-value>UTF-8</param-value>
     	</init-param>
     </filter>
     <filter-mapping>
     	<filter-name>Encodage Filtre</filter-name>
     	<url-pattern>/*</url-pattern>
     </filter-mapping>
    Seulement, le problème c'est que cela n'a rien changé.

    Aussi, en bon débutant, je viens vous demander de l'aide et je vous remercie d'avance pour celle-ci.

    Pataud.

    PS: il est à noter que j'utilise aussi les tiles et que les balises ci-dessous sont bien définies dans la page de structure dans laquelle sont implantées les autres pages (j'ai aussi testé de rajouter les balises dans les fichiers implantés mais cela n'a pas changé mes problèmes).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

  2. #2
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2011
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 196
    Points : 242
    Points
    242
    Par défaut
    Bonjour,
    Ton formulaire envoie les données selon la méthode POST ou la méthode GET ?

    Sinon tu peux essayer de configurer l'encodage des paramètres au niveau de ton serveur tomcat en modifiant le fichier server.xml, regarde ce lien.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Octobre 2013
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    La méthode Get et dans l url qui apparait sur le navigateur les caractères apparaissent bien.. Je vais voir pour le server.xml. J avais changé quelquechose dans la configuration du serveur via l'interface d'affichage quand on double clique dessus. Bref, je vais voir . Merci pour le lien.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Octobre 2013
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    Merci, le problème venait de là . SUPEEER !!!!!!!!!!!!!

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

Discussions similaires

  1. [Débutant] Problème lorsque plusieurs clients connectés.
    Par poiwalt dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 07/08/2007, 12h24
  2. Oracle Express 10.2.0.1.0 [Problème coté Client]
    Par seblo_scoqi dans le forum Connexions aux bases de données
    Réponses: 5
    Dernier message: 26/10/2006, 10h54
  3. [Débutant] Problème de récupération valeurs Bean
    Par DanZzz dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 14/08/2005, 20h27
  4. Probléme cache avec IE et XML/XSL coté client.
    Par rataflo dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 06/08/2005, 19h06
  5. [Débutant] Problème récupération de données
    Par flogreg dans le forum Servlets/JSP
    Réponses: 26
    Dernier message: 20/08/2004, 17h29

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