Foros del Web » Programación para mayores de 30 ;) » Java »

Servlet me debuelve caracteres especiales y raros

Estas en el tema de Servlet me debuelve caracteres especiales y raros en el foro de Java en Foros del Web. hola a todos estot aprendiendo comunicar el applet con un servlet y el servlet me esta devolviendo algo que no es :( ����*+,� y otro ...
  #1 (permalink)  
Antiguo 31/12/2010, 19:25
Avatar de calichecal  
Fecha de Ingreso: junio-2009
Ubicación: Colombia
Mensajes: 288
Antigüedad: 14 años, 10 meses
Puntos: 12
Busqueda Servlet me debuelve caracteres especiales y raros

hola a todos estot aprendiendo comunicar el applet con un servlet y el servlet me esta devolviendo algo que no es :(

����*+,� y otro poco que cosas.

este es mi applet:

Código:
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
import javax.swing.JApplet;



public class ARegistro extends JApplet {


    PanelRegistro panel=new PanelRegistro(this);

    public void init() {
       add(panel);
    }

     String peticionPost(String mensaje) {
        URL miurl = null;
        String cadenaaux = null;
        String cadenaretorno = "";

        String consulta =  URLEncoder.encode(mensaje);

        try {
            String host = this.getCodeBase().getHost();
            String peticion = "EscuchaApplet.class";
            miurl = new URL(getCodeBase(),peticion);

            URLConnection conexion = miurl.openConnection();
            conexion.setDoOutput(true);
            OutputStreamWriter buffersalida = new OutputStreamWriter(conexion.getOutputStream());
            buffersalida.write(consulta);
            buffersalida.flush();

            BufferedReader bufferentrada = new BufferedReader(new InputStreamReader(conexion.getInputStream()));
            String linea = null;

            while ((linea = bufferentrada.readLine()) != null) {
                cadenaretorno += linea;
            }

            buffersalida.close();
            bufferentrada.close();
        }
        catch (Exception e)
        {
            return "Error al generar url " + e.getMessage();
        }

        return cadenaretorno;

    }

   
}
y pues la cadena que retorna la imprimo en un jtextField pero es hay donde aparecen los caracteres raros y no debería, aquí les muestro mi servlet:

Cita:
import java.io.*;
import java.net.*;
import java.util.*;

import javax.servlet.*;
import javax.servlet.http.*;


public class EscuchaApplet extends HttpServlet {

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();

//out.println("<jsp:forward page=index.jsp/>");// esto lo tengo pensado hacer y en donde tengo otra duda
// pues asi como esta eso se imprimiria en el textField y lo que
// quiero es que redireccione a esa pagina.como le hago?
out.println("FRASE A DEVOLVER");

out.close();

}

protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}

protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
}
agradezco al que me ayudo con estas dudas.

haa y aca el evento del boton que empieza todo, y pues esta en el panel que esta en el japplet:

Cita:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String s_textoaenviar = nombre.getText();
jTextField2.setText(ref.peticionPost(s_textoaenvia r));
//donde ref es una referencia al JApplet
}
__________________
Hay una fuerza motriz más poderosa que el vapor, la electricidad y la energía atómica: la voluntad. -Einstein-

Última edición por calichecal; 31/12/2010 a las 19:31
  #2 (permalink)  
Antiguo 02/01/2011, 20:36
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: Servlet me debuelve caracteres especiales y raros

Hola,

Prueba a reemplazar el constructor del InputStream con la versión que incluye el charset, y prueba con el charset que tengas definido (ISO, UTF, etc.) en el servidor de aplicaciones donde está ejecutándose el servlet.

Código Java:
Ver original
  1. BufferedReader bufferentrada = new BufferedReader(
  2. new InputStreamReader(conexion.getInputStream(), "ISO-8859-1"));
Saludos,

Etiquetas: caracteres, especiales, raros, servlet
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:57.