Retroceder   Foros del Web > Programación para sitios web > Java y JSP

Respuesta
 
Herramientas Desplegado
Antiguo 20-feb-2007, 08:37   #1 (permalink)
jisas ha deshabilitado el karma
 
Fecha de Ingreso: febrero-2007
Mensajes: 7
Servlet Java

Hola,

He empezado a hacer un Servlet y he probado a enviar desde el cliente una palabra.

Codigo cliente:
.
.
//envia la palabra
OutputStream os = c.openOutputStream();
os.write(("Prueba="+Envio).getBytes());
os.flush();
os.close();
.
.
Codigo Servlet:
.
.
String recibido = request.getParameter("Prueba");
.
.

El problema que tengo es que lo que me llega al servlet es null.
En cambio si quito el os.flush() si que llega al servlet correctamente la palabra.
Veo que en la mayoria de webs donde se puede encontrar material de servlets hacen primero un flush y luego cierran el stream y me gustaria saber porque a mi no me funciona. Gracias
jisas está desconectado   Responder Citando
Antiguo 20-feb-2007, 10:51   #2 (permalink)
GreenEyed tiene algunos puntos positivos de karma
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.488
Re: Servlet Java

¿Y como te conectas al Servlet? ¿Directamente con sockets o usando HttpUrlConnection?
GreenEyed está desconectado   Responder Citando
Antiguo 20-feb-2007, 15:27   #3 (permalink)
jisas ha deshabilitado el karma
 
Fecha de Ingreso: febrero-2007
Mensajes: 7
Re: Servlet Java

uso HttpUrlConnection
jisas está desconectado   Responder Citando
Antiguo 20-feb-2007, 16:18   #4 (permalink)
PeterQB ha deshabilitado el karma
 
Avatar de PeterQB
 
Fecha de Ingreso: diciembre-2006
Ubicación: La eterna primavera
Mensajes: 38
Re: Servlet Java

el flush()te sirve para vaciar el buffer cuando se encuentra lleno es muy recomndable cuando lo iutilizas en transmisiones por medio de sockets
PeterQB está desconectado   Responder Citando
Antiguo 21-feb-2007, 00:22   #5 (permalink)
GreenEyed tiene algunos puntos positivos de karma
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.488
Re: Servlet Java

El error es bastante extraño puesto que, supuestamente, un close hace tambien un flush, asi que no tendría que haber diferencia. Como mucho que en el segundo caso haces dos veces flush.

De todas formas, en el trozo de codigo que muestras no se ve como tratas el objeto HttpUrlConnection y quizá está por ahí la cosa.

¿Sigues lo que recomiendan los tutoriales?
http://java.sun.com/docs/books/tutor...ngWriting.html

Suerte.
GreenEyed está desconectado   Responder Citando
Antiguo 21-feb-2007, 07:14   #6 (permalink)
jisas ha deshabilitado el karma
 
Fecha de Ingreso: febrero-2007
Mensajes: 7
Re: Servlet Java

Realmente me daba un poco d verguenza explicarlo todo porque no se mucho del tema y no queria meter la pata... pero es una aplicacion J2ME para moviles. Hago un HttpConnection (que creia que funcionaba igual que HttpURLConnection).

public void run(){
try{
c = (HttpConnection)Connector.open(URL);

c.setRequestMethod(HttpConnection.POST);
c.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
c.setRequestProperty("Connection", "close");

OutputStream os = c.openOutputStream();
//envia la palabra
os.write(("Prueba="+Envio).getBytes());
os.flush();
os.close();
}catch(IOException e){}
}
jisas está desconectado   Responder Citando
Antiguo 21-feb-2007, 08:41   #7 (permalink)
GreenEyed tiene algunos puntos positivos de karma
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.488
Re: Servlet Java

Jejeje, no te ha de dar verguenza, pero en este caso es importante puesto que las librerias que hay por debajo en el Java normal y en J2ME no son las mismas. Puede ser que tengan un bug, y no permitan hacer un flush(), pero si haciendo un close() te funciona, al menos ya sabes que de alguna forma funciona.

No he trabajado con J2ME, así que mucho más no te puedo decir.
Suerte
GreenEyed está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Desactivado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 19:38.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93