Buenas tardes!!!
Tengo un script JavaScript en el que he recogido un array. Mi intención es guardar la información relativa a ese array en una base de datos MySQL. Para ello, parece ser, debo cargarlo en un JSON y enviarlo al .jsp, que deberá parsearlo y enviárselo a un .java que lo meterá en la BD. Por supuesto, no me funciona nada, y como podréis ver a continuación, soy primerizo en esto del JSON y estoy más perdido que Steven Seagal en una fiesta de pijamas. Pero es que también tiene tela la cosa, jeje.
Bueno, así es como llamo en el script JavaScript
:
.JS
Código:
var myJsonString = JSON.stringify(rankingLocal);
var url = "XXX.jsp";
request = new XMLHttpRequest();
request.open("POST", url, true);
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
request.send(myJsonString);
Y así como lo recibo en el .JSP
.JSP
Código:
<%@page contentType="application/json" pageEncoding="UTF-8"%>
<%@page import="XXXXXXXXXXXXXXXXX.User" %>
<%
User u = null;
u = new User();
String nombre;
Int puntuacion;
JSONObject arr = (JSONObject) JSONValue.parse(http_request.responseText);
for(int i=1;i<arr.size();i++) {
nombre = arr.getString(i-1);
puntuacion = (arr.getString(i);
u.register(nombre, puntuacion);
}
%>
Por último, aunque no creo que sea relevante, así accedo a la BD:
.JAVA
Código:
public User() {
//this.setUrl("XXX/" + bd);
this.setUrl("XXX");
this.setDriver("XXX");
this.setNombre("XXX");
this.setPassword("XXX");
this.setTable("XXX");
}
public void register(String nombre, Integer puntuacion) {
try {
this.crearConexion();
this.setSql("INSERT INTO ranking SET Nombre = ?, Puntuacion = ?;");
this.setPs(this.getCon().prepareStatement(this.getSql()));
this.getPs().setString(1, nombre);
this.getPs().setInt(2, puntuacion);
this.getPs().executeUpdate();
} catch (SQLException ex) {
Logger.getLogger(User.class.getName()).log(Level.SEVERE, null, ex);
} catch (ClassNotFoundException ex) {
Logger.getLogger(User.class.getName()).log(Level.SEVERE, null, ex);
} finally {
this.cerrarConexion();
}
}
Por si ayuda, el error que ahora mismo recibo es el siguiente:
Failed to load resource: the server responded with a status of 500 (Internal Server Error)
Espero que con el caso expuesto al completo podáis ayudarme a tener un mejor enfoque de esta tecnología, de aquí en adelante tendré que usarla mucho y me tiene basante preocupado la manera en que sigo pez por más que intento pillarlo.
Muchas gracias de antemano,
Alexander.