Partage
  • Partager sur Facebook
  • Partager sur Twitter

[JAVA] Servlet

Retourne un texte illisible...

    28 décembre 2006 à 20:27:45

    Salut , j'ai un problème assez étrange avec les servlets.
    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 ).

    Donc tout ce passe bien je pense sauf que le texte que je recupère est illisible :
    Initialisation de Gestion
    Codage
    URL
    Avant
    ¬í[Ljava.lang.String;­ÒVçé..etc....

    Code de la servlet


    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())

    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();
                     }


    Merci d'avance :p
    • Partager sur Facebook
    • Partager sur Twitter
      29 décembre 2006 à 17:17:38

      personne a une idée? :euh:

      Mon but final est de faire retourner a la servlet un objet alors si j'arrive pas a retourner une chaine de caractère je suis pas dans la merde :-°

      edit:

      Bien que sa n'ai pas l'air d'intéresser grand monde je met quand meme la solution :
      (encoder la chaine recue en UTF8 car tomcat la code en ISO par default lors de l'envoie depuis la servlet)

      String chaine = new String (reader.readLine().getBytes("ISO_8859_1"), "UTF8");
                              System.out.println(chaine);
      • Partager sur Facebook
      • Partager sur Twitter

      [JAVA] Servlet

      × 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