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 :

[Servlet] Retourne une String illisible


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 59
    Par défaut [Servlet] Retourne une String illisible
    Tout d'abord salut a tous (je suis nouveau sur le forum) et joyeuses fêtes !

    Voici mon problème :
    J'ai une applet qui appelle une servlet par méthode Get, la servlet doit retourner une chaine de caractère (sa sert a rien mais c'est pour tester le fonctionnement), et cette chaine de caractère est affichée dans la l'applet ( dans la console, jutilise la console dans internet exploreur ).

    Donc tout ce passe bien je pense sauf que le texte que je recupère est illisible, voila ce que j'obtient :
    Initialisation de Gestion
    Codage
    URL
    Avant
    ¬í[Ljava.lang.String;*ÒVçé..etc....(avec aussi des caractères retour chariots (carré..))
    Après

    Code de la servlet

    Code : Java

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public class XML extends HttpServlet{
     
            protected void doGet(HttpServletRequest arg0, HttpServletResponse arg1)throws ServletException, IOException {
                    System.err.println("Méthode Get appelée maintenant");
     
                    PrintWriter out = new PrintWriter(arg1.getWriter(), true);
                    String chaine = "Hello World";
                    out.println(chaine);   
            }
            protected void doPost(HttpServletRequest arg0, HttpServletResponse arg1)throws ServletException, IOException {
                    doGet(arg0,arg1);
            }
    }
    Code de l'applet (Méthode init())

    Code : Java
    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
    public void init(){
                    System.out.println("Initialisation de Gestion");
     
     
                    try {
                    //encodage des paramètres de la requête
                    System.out.println("Codage");
                    String donnees = URLEncoder.encode("fichier", "ISO-8859-1") + "=" + URLEncoder.encode("diapo1.xml", "ISO-8859-1");
     
                    //création de la connection
                    System.out.println("URL");
                    URL url = new URL("http://localhost:8080/WebServ/ServletDiaporama?"+donnees);
     
                    //lecture de la réponse
                    BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
     
                            System.out.println("Avant");
                            System.out.println(reader.readLine());
                            System.out.println("Apres");
     
     
                    compteur=0;
                    }
                    catch (IOException e1) {
                            e1.printStackTrace();
                     }
    J'ai essayé plusieurs trucs :
    -passer l'encodage en UTF-8
    -faire un arg1.setContentType("text/plain")
    etc..

    Donc voila je suis bloqué a cause de ce problème depuis 2 jours
    Si vous avez des idées pour corriger sa

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 59
    Par défaut
    Apres une recherche avncée sur le forum (a la 12eme page )

    J'ai trouvé la solution !! Merci a Pi2
    Solution: encodée la chaine retournée en UTF8

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String chaine = new String (reader.readLine().getBytes("ISO_8859_1"), "UTF8");
    System.out.println(chaine);

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

Discussions similaires

  1. Servlet retourne une impression
    Par guilopouloos dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 08/03/2013, 10h35
  2. [AC-2003] Fonction retournant une string dans un état
    Par yupyupxav dans le forum IHM
    Réponses: 2
    Dernier message: 28/02/2010, 18h41
  3. Servlet retourne une requete Sql
    Par vladimire dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 24/05/2009, 21h20
  4. Réponses: 9
    Dernier message: 10/05/2007, 17h57
  5. Réponses: 2
    Dernier message: 29/03/2004, 13h44

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