Hola,
tengo un programa java que deseo que envie datos a un servlet, resumidamente el codigo de este es este:
// apertura de conexion con servlet
URLConnection connect=new URL(url).openConnection();
connect.setDefaultUseCaches(false);
connect.setDoOutput(true);
connect.setUseCaches(false);
/* OPCION 1 */
osw = new OutputStreamWriter(connect.getOutputStream());
osw.write(params);
osw.flush();
/* OPCION 2 */
/*ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
DataOutputStream outData = new DataOutputStream(byteOut);
outData.writeUTF(params);
outData.flush();
byte buf[] = byteOut.toByteArray();
connect.setRequestProperty("Content-type", "application/octet-stream"); connect.setRequestProperty("Content-length","" + buf.length);
DataOutputStream dataOut =new
DataOutputStream(connect.getOutputStream());
dataOut.write(buf);
dataOut.flush();
dataOut.close();*/
La OPCION 1 y 2 son dos formas de enviar los datos al servlet (habria alguna mejor que otra?).
El codigo del servlet seria este (el codigo que recupera esos datos que le envia el cliente):
System.out.println("Al inicio: antes de abrir el Input Stream");
/* OPCION 1 */
BufferedReader br= new BufferedReader(new
InputStreamReader(req.getInputStream()));
String texto = br.readLine();
/* OPCION 2 */
/*DataInputStream inData=new DataInputStream(req.getInputStream());
String param=inData.readUTF();
inData.close();*/
System.out.println("FIN");
De igual forma las 2 OPCIONES, serian las formas de recuperar los datos segun como envie los datos el cliente.
Decir tambien que el servlet se ejecuta en JBoss, y en la ventana MSDOS donde se ve el log de JBoss no se muestran los mensajes emitidos en el servlet. Por lo que intuyo que en la comunicacion desde el cliente falla algo.
Alguien me podria ayudar?
gracias de antemano...