FREEDOM GLOBAL NET

¡¡Lo nunca visto!!

¡¡Lo nunca visto!!
Gana comisiones de por vida

miércoles, 15 de octubre de 2014

JAVA – PHP – MySQL: V Insertar datos en MySQL desde JAVA con PHP

Buenas días a todos!, en este quinto tutorial de JAVA – PHP -MySQL vamos a ver como podemos comunicarnos insertar datos a una base de datos MySQL desde JAVA con PHP, en un principio el esquema que vamos a seguir es una arquitectura cliente-servidor, podéis ver un esquema en el siguiente gráfico:
Esquema php java mysql

Esquema JAVA – PHP – MySQL
Antes de empezar, vamos a repasar el índice de esta serie de tutoriales así como los objetivos que nos proponemos.
  1. JAVA – PHP – MySQL: I Introducción
  2. JAVA – PHP – MySQL: II Creación de una base de datos en MySQL
  3. JAVA – PHP – MySQL: III Crear una conexión con la base de datos en PHP
  4. JAVA – PHP – MySQL: IV Consultas Básicas e inserción de datos en PHP
  5. JAVA – PHP – MySQL: V Insertar datos en MySQL desde JAVA con PHP
  6. JAVA – PHP – MySQL: VI Obtener datos de MySQL en JAVA con PHP
Los objetivos que nos proponemos con esta serie de tutoriales son los siguientes:
MySQL
  • Aprender a crear una base de datos en MySQL.
PHP
  • Aprender a insertar datos en nuestra base de datos.
  • Aprender a mostrar datos de nuestra base de datos.
  • Consolidar los conocimientos aprendidos en la serie de tutoriales JSON.
  • Mostrar los datos introducidos en la base de datos en pantalla.
JAVA
  • Crear JSON a partir de los datos introducidos por el usuario.
  • Enviar JSON vía GET en JAVA.
  • Enviar JSON vía POST en JAVA.
  • Obtener un JSON generado en PHP.

Una vez que hemos repasado lo que pretendemos hacer vamos a comenzar este quinto tutorial de JAVA – PHP – MySQL. Para continuar un poco con la línea de los tutoriales vamos a suponer que hemos realizado los anteriores tutoriales satisfactoriamente. Hemos creado una base de datos donde almacenaremos los datos de usuario (Tutorial II). Seguidamente hemos creado una clase en PHP para administrar esta tabla en la base de datos (Tutorial IV).
Este tutorial consta de dos partes, la parte del cliente (Java) donde se generará un JSON (Ver serie de Tutoriales JSON)  y se enviará por POST a la parte del servidor (PHP), el cual consistirá en un archivo PHP que espera una llegada de datos por POST, procesará el contenido del JSON y lo almacenará en la base de datos.

Servidor

Teniendo en cuenta que en el tutorial anterior creamos una clase llamada usuariosClass.php con las siguientes funciones:
  • conectarBD
  • desconectarBD
  • getArraySQL
  • createUser
  • getAllInfo
  • getNombre
  • getApellidos
  • getEmail
Vamos a crear dos archivos en PHP que este a la escucha de datos, los archivos en cuestión serán listenPost.php y listenGet.php. El primero de ellos escuchará llamadas mediante método POST, mediante que el segundo escuchará las llamadas mediante el método GET.
A continuación se mostrará el código de ambos archivos comentados.

listenPost.php


listenGet.php



En ambos casos comprobamos  que hemos recibido un parámetro llamado json con el contenido del JSON en texto plan, una vez que hemos recibido el JSON lo tenemos que decodificar y eliminar la barra “\”. Decodificamos el JSON e insertamos un nuevo usuario en la base de datos.

Cliente


Una vez que hemos creado nuestro servidor en PHP para la escucha de datos, vamos a crear un nuevo programa en JAVA que envíe los datos  a nuestro servidor. En mi caso el servidor será local por lo que las llamadas deberán enviarse a localhost.
Vamos  a usar Netbeans como IDE JAVA. En primer lugar creamos una nueva aplicación Java llamada JavaPHPMySQL cuyo main contenga lo siguiente:
Antes de comenzar a explicar el código por encima hay que indicar que para que este ejemplo funciones es necesario importar la librería json-simple-1.1.1.jar en nuestro proyecto. Esta librería nos permitirá gestionar objetos JSON.
Observamos que la clase principal del cliente consta de dos métodos para enviar los datos encapsulados en un JSON, el método sendPost() sendGet(). Es obvio que el metodo sendPost enviará un JSON encapsulado a nuestro servidor mediante POST y el método sendGet lo enviará mediante método GET.
Podemos observar que ambos métodos son similares. en un principio generamos en texto plano un JSON con los datos del usuario que queramos, en el ejemplo he puesto mis propios datos. Una vez que tenemos el JSON en texto plano lo enviamos con ayuda de los objetos URL url HttpURLConnection con. Así mismo obtenemos la respuesta del servidor y la mostramos por pantalla.
java-php-mysql
Por último, hay que tener en cuenta los siguientes puntos a la hora de realizar este tutorial:
  • Hay que indicar la url del servidor donde queremos enviar los datos en la constante SERVER_PATH. 
  • Este tutorial se ha basado en el envio de JSON, pero no es extrictamente necesario encapsular los datos en un JSON, podemos enviar los datos en texto plano si queremos, enviar los datos en JSON nos va a ahorrar trabajo a la hora de que enviemos una gran cantidad de datos a almacenar.
  • El envío de datos por GET tiene la desventaja de la cantidad de caracteres que podemos enviar por este método, si enviamos muchos datos a la vez encapsulados en un JSON nos podría dar error de longitud.

No hay comentarios:

Publicar un comentario