LEER DATOS CRUDOS EN UN SERVLET
Posted: martes, 28 de enero de 2014 by Skuarch in Etiquetas: inputstream, java, request, servlet, ServletInputStream
0
En ocaciones los datos que llegan a un servlet no estan dentro de una variable, los datos estan con el cuerpo de peticion, para poder obtener ese tipo de dato es necesario abrir un input y convertirlos a string, en el siguiente codigo muestro como hacer esto en un servlet
Primero checar si el contentLength tiene algo
int contentLenght = request.getContentLength();
Con la clase ServletInputStream se leeran los datos
ServletInputStream sis = request.getInputStream();
Ahora solo queda consumir los datos
byte[] buffer = new byte[contentLenght];
int len = sis.readLine(buffer, 0, buffer.length);
String data = new String(buffer, 0, len);
Nunca esta de mas hacer una verification del contentLenght que sea mayor a 0 al inicio de tu codigo.
Finalmente cierra todos los inputs para que no existan problemas despues.