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

[SOLUCIONADO] Retornar json con valor true - java servlet

Estas en el tema de Retornar json con valor true - java servlet en el foro de Java en Foros del Web. Buenas gente no se si estoy colocando este tema en su debido lugar ya que soy nuevo... Pero tengo un problema y necesito ayuda... TENGO ...
  #1 (permalink)  
Antiguo 11/11/2016, 02:53
 
Fecha de Ingreso: noviembre-2015
Mensajes: 13
Antigüedad: 8 años, 5 meses
Puntos: 0
Retornar json con valor true - java servlet

Buenas gente no se si estoy colocando este tema en su debido lugar ya que soy nuevo...
Pero tengo un problema y necesito ayuda...
TENGO UN AJAX QUE MANDO 2 DATOS UN LOGIN Y UN PASSWORD SERIALIZADOS AL SERVIDOR...

$('#button').click(function(e){
var data = $('#FormLogin').serialize();
alert('datos: '+data);
$.ajax({
url: "Cuenta",
type: "POST",
dataType: "json",
data: data,
beforeSend: function(){
$('.fa').css('display','inline');
},
})
.done(function() { //true
$('span').html("Correcto");
})
.fail(function() { //false
$('span').html("Falso");
})
.always(function() { //false
$('.fa').hide();
});
})

LA IDEA ES QUE AL EJECUTARSE EL AJAX VA AL SERVIDOR Y HACE UNA CONSULTA EN LA BASE DE DATOS PARA VERIFICAR SI LOS DATOS QUE MANDE EXISTEN EN LA BASE DE DATOS EN SIMPLES PALABRAS UNA AUTENTIFICACION...

ESTO ES DEL LADO DEL SERVIDOR...

@RequestMapping({"Cuenta"})
public String valida(HttpServletRequest request, Model model,@RequestParam String login, String password) throws IOException {
try{
Map<String,Object> user=this.Inicio.buscarUsuario(login,password);
HttpSession sesion=request.getSession(true);
sesion.setAttribute("login", login);
sesion.setAttribute("usuario",user);
return "Login";
}catch (Exception e){
model.addAttribute("xtexto", "Usuario no autorizado!!!");
return "Login";
}
}

Ahora con esos datos verifico en la base de datos...
En el "try{}" intento hacer la consulta en caso de que la autentificacion sea correcta deseo devolver un "json" con el valor true
Caso contrario que seria el "catch" que retorne false.
para que en el ajax cuando retorne "true" en la parte del ".done()" en el span imprimir un simple "Correcto".
y si retorno un json con el valor "false" en la parte del ".fail()" en el span imprimir un simple "Falso"...
Pero no se como devolver o retornar un json con un valor true o false estoy usando una libreria llamada "Jackson" para hacerlo pero no me ubico bien...

ESTE EJEMPLO LO VI EN UN VIDEO EN YOUTUBE PERO ESTA HECHO EN PHP...
YO ESTOY USANDO ECLIPSE y APACHE... MVC
LES DEJO EL ENLACE DEL VIDEO X SI ACASO TIENEN DUDAS...

[URL="https://www.youtube.com/watch?v=woJTmWmFWvc"]https://www.youtube.com/watch?v=woJTmWmFWvc[/URL]

INTENTE EXPLICARME LO MEJOR QUE PUDE ESPERO ME PUEDAN AYUDAR...
CUALQUIER AYUDA ES AGRADECIDA...
  #2 (permalink)  
Antiguo 11/11/2016, 03:49
Avatar de Ito79  
Fecha de Ingreso: diciembre-2013
Mensajes: 71
Antigüedad: 10 años, 4 meses
Puntos: 18
Respuesta: Retornar json con valor true - java servlet

Hola,

Un JSON con valor true, ¿qué es? Imagino algo como esto:
Código Javascript:
Ver original
  1. { "success": true }
Pues para devolver eso sería algo así:

Código Java:
Ver original
  1. Sring objetoJSON = "{ \"success\": true }";
  2. response.setContentType("application/json");
  3. PrintWriter out = response.getWriter();
  4. out.print(objetoJSON);
  5. out.flush();

Lo que hace es:
- Definir el objeto a enviar (he puesto ese pero deberías poner lo q tu quieras devolver)
- Setear la respuesta como tipo JSON
- Conseguir un Writer desde la respuesta, escribir la cadena a devolver y hacer un flush

En el caso de que falle, pues el objeto a devolver podría ser:
Código Javascript:
Ver original
  1. { "success": false }

Espero que ayude,
Un saludo

// Ito
  #3 (permalink)  
Antiguo 11/11/2016, 11:34
 
Fecha de Ingreso: noviembre-2015
Mensajes: 13
Antigüedad: 8 años, 5 meses
Puntos: 0
Respuesta: Retornar json con valor true - java servlet

Hola lto gracias x tu pronta respuesta intenté lo que me propusiste pero no logro logro solucionar mi problema...
En el ejemplo que vi en el video que puse en la descripción de mi problema...
El que hace el tutorial en el lado del servidor PHP usa esto...

if ($tag == 'login'){
if ($_POST ['username'] === 'soldier')
echo true; //retorna true si es igual el username
echo false; //retorna falso si no es igual el username
}

Lo que quiero es un equivalente de ese "echo true" pero en java servlet...

Y A LO QUE ME REFERÍA CON lo del json con valor true pues me refería a mi respuesta x parte del servidor...
Osea en el ajax tengo un dataType: 'json',
X la explicación que daba en el tutorial entendí que es el tipo de dato en que recibirá la respuesta x parte del servidor ya sea true o false...

Muchas gracias desde ya lto... estaré atento a cualquier ayuda...
  #4 (permalink)  
Antiguo 11/11/2016, 11:37
 
Fecha de Ingreso: noviembre-2015
Mensajes: 13
Antigüedad: 8 años, 5 meses
Puntos: 0
Respuesta: Retornar json con valor true - java servlet

Una pregunta mas de paso... como hago para escribir código con estilos aquí en la web para que se vea mas comprensible al enviar mis códigos...

Etiquetas: spring
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 09:58.