Está en la página 1de 37

TALLER No.

2: JSON

Maricela Martnez Rivera - 65.794.296


Giovani Cardona Marn 1.035.913.434

Fundamentos de Sistemas de Informacin


Profesor: Diego Botia

UNIVERSIDAD DE ANTIOQUIA
FACULTAD DE INGENIERA
INGENIERA DE SISTEMAS
2015-1

TABLA DE CONTENIDO
Pg.

INTRODUCCION

OBJETIVO GENERAL

OBJETIVOS ESPECFICOS ...

3
4

HERRAMIENTAS EMPLEADAS
WEB BROWSER

....

NETBEANS IDE

..

...

JSON
JDK

MARCO TEORICO

.....

10

PROCEDIMIENTO

..

11

CONCLUSIONES

..

33

BIBLIOGRAFIA

..

34

INTRODUCCION

En este informe conoceremos un poco sobre JSON (JavaScript Object Notation) que es
un formato de intercambio de informacin que est basado en estructuras de pares clavevalor. Es un formato mucho ms liviano que XML y ms indicado y ms eficiente en
determinados proyectos. Puede darse la situacin de que en nuestra aplicacin Java,
necesitemos atender peticiones representadas en JSON, transformarlas a Java, tratar los
datos y devolver una respuesta en JSON; as como veremos cmo convertir objetos Java
en objetos JSON y viceversa de manera muy sencilla gracias a la librera open-source
Gson.
Adems conoceremos un poco acerca del uso de peticiones GET y POST usando el
protocolo RESFULL para consumir servicios WEB como formato estndar.
Tambin emplearemos llamadas con AJAX desde una pgina JSP haca un servlet por
medio de JQuery y l envi y recepcin de las respuestas se harn con JSON. Para
hacer esto emplearemos una librera JSON en el Servlet y luego sern mostradas en la
pgina web de un navegador.

I.

OBJETIVO GENERAL

Conocer y comprender los conceptos y el funcionamiento del estndar XML, AJAX y


JSON visualizando un modelo de integracin de informacin.

OBJETIVOS ESPECFICOS
Determinar manejo de herramientas usadas en el desarrollo de lenguaje
XML.
Implementacin de archivos con el lenguaje XML, AJAX y JSON

II.

HERRAMIENTAS EMPLEADAS

Web Browser.
Editor de XML.
Netbeans 8.0.2
JDK.

WEB BROWSER (GOOGLE CHROME)


Google Chrome es el navegador web de Google. Este navegador web, desarrollado en el
proyecto Chromium, est basado en cdigo abierto y utiliza el motor de renderizado
Webkit.
Google Chrome funciona sobre el sistema operativo Windows y en versin beta se puede
encontrar para Mac y Linux.
Cabe destacar que Google Chrome es un navegador que busca el soportar los diferentes
estndares que hay en la web y en su versin 3.0.192.0 ya era compatible a un 100% con
el test ACID3.
De igual forma Google Chrome busca un gran rendimiento en la ejecucin de cdigo
javascript y para ello han desarrollado el motor Javascript V8.

Versiones

La versin actual de Google Chrome es Google Chrome 4.1 Beta 5 como versin oficial y
Google Chrome 5.0 como versin en desarrollo. Esta ltima ya incorpora el soporte a Mac
y Linux.

Caractersticas
El navegador ejecuta las pestaas en procesos separados del sistema operativo. Lo cual
permite hacer una gestin separada de las pestaas y en el caso de que se cuelgue una
pestaa evita que se cuelgue el navegador.
Permite hacer navegacin de incgnito, mediante la cual no se deja rastro en la mquina
de los sitios por los que se ha navegado (cookies, historial,)
Realiza gestin de pestaas. Podemos abrir diferentes enlaces en diferentes pestaas.
Sin necesidad de abrir una ventana nueva.
Las pestaas estn situadas en la parte superior del navegador. Lo cual permite tener un
rea de navegacin ms grande.
Su barra de navegacin se llama omnibox la cual lleva capacidades de autocompletado
de bsquedas, sugerencia de bsqueda,
Permite crear accesos directos a URL. De esta manera podremos tener un icono que nos
lance una URL como si fuera una aplicacin.
La funcionalidad bsica de Google Chrome se puede mejorar mediante sus extensiones.
Hay extensiones que nos permiten poner accesos a GMail, a Google Reader, a peridicos
como El Mundo o Marca,
Nos permite tener sincronizados nuestros favoritos (bookmarks) independientemente de
dnde tengamos instalado el Google Chrome. Para ello utiliza una cuenta de google. As,
si tenemos Google Chrome instalado en el PC de casa y en el del trabajo, podremos ver
los mismos favoritos en ambos.

XML
XML, siglas en ingls de eXtensible Markup Language ('lenguaje de marcas extensible'),
es un lenguaje de marcas desarrollado por el World Wide Web Consortium (W3C)
utilizado para almacenar datos en forma legible.

XML proviene de un lenguaje inventado por IBM en los aos setenta, llamado GML
(Generalized Markup Language), que surgi por la necesidad que tena la empresa de
almacenar grandes cantidades de informacin. Este lenguaje gust a la ISO, por lo que en
1986 trabajaron para normalizarlo, creando SGML (Standard Generalized Markup
Language), capaz de adaptarse a un gran abanico de problemas. A partir de l se han
creado otros sistemas para almacenar informacin.

En el ao 1989 Tim Berners Lee cre la web, y junto con ella el lenguaje HTML. Este
lenguaje se defini en el marco de SGML y fue de lejos la aplicacin ms conocida de
este estndar. Los navegadores web sin embargo siempre han puesto pocas exigencias
al cdigo HTML que interpretan y as las pginas web son caticas y no cumplen con la
sintaxis. Estas pginas web dependen fuertemente de una forma especfica de lidiar con
los errores y las ambigedades, lo que hace a las pginas ms frgiles y a los
navegadores ms complejos.

Otra limitacin del HTML es que cada documento pertenece a un vocabulario fijo,
establecido por el DTD. No se pueden combinar elementos de diferentes vocabularios.
Asimismo es imposible para un intrprete (por ejemplo un navegador) analizar el
documento sin tener conocimiento de su gramtica (del DTD). Por ejemplo, el navegador
sabe que antes de una etiqueta <div> debe haberse cerrado cualquier <p> previamente
abierto. Los navegadores resolvieron esto incluyendo lgica ad hoc para el HTML, en vez
de incluir un analizador genrico. Ambas opciones, de todos modos, son muy complejas
para los navegadores.
Se busc entonces definir un subconjunto del SGML que permita:

Mezclar elementos de diferentes lenguajes. Es decir que los lenguajes sean


extensibles.
La creacin de analizadores simples, sin ninguna lgica especial para cada
lenguaje.
Empezar de cero y hacer hincapi en que no se aceptan nunca un documento con
errores de sintaxis.
Para hacer esto XML deja de lado muchas caractersticas de SGML que estaban
pensadas para facilitar la escritura manual de documentos. XML en cambio est orientado
a hacer las cosas ms sencillas para los programas automticos que necesiten interpretar
el documento.
XML no ha nacido slo para su aplicacin para Internet, sino que se propone como un
estndar para el intercambio de informacin estructurada entre diferentes plataformas. Se
puede usar en bases de datos, editores de texto, hojas de clculo y casi cualquier cosa
imaginable.

XML y sus extensiones han sido regularmente criticadas por su nivel de detalle y
complejidad. El mapeo del modelo de rbol bsico de XML hacia los sistemas de tipos de
lenguajes de programacin o bases de datos puede ser difcil, especialmente cuando se
utiliza XML para el intercambio de datos altamente estructurados entre aplicaciones, lo
que no era su objetivo primario de diseo.

La tecnologa XML busca dar solucin al problema de expresar informacin estructurada


de la manera ms abstracta y reutilizable posible. Que la informacin sea estructurada
quiere decir que se compone de partes bien definidas, y que esas partes se componen a
su vez de otras partes. Entonces se tiene un rbol de trozos de informacin. Ejemplos son
un tema musical, que se compone de compases, que estn formados a su vez por notas.
Estas partes se llaman elementos, y se las seala mediante etiquetas.

Una etiqueta consiste en una marca hecha en el documento, que seala una porcin de
ste como un elemento. Un pedazo de informacin con un sentido claro y definido. Las

etiquetas tienen la forma <nombre>, donde nombre es el nombre del elemento que se
est sealando.
Para editar documentos XML, al igual que para hacerlo con HTML, se puede hacer de dos
formas: editndolos como cualquier otro fichero ASCII, usando, si acaso, un editor
estructurado como el XEmacs, o bien usar un editor especfico para XML, que entiende
las particularidades del lenguaje, lo indenta como est mandado, y te cierra las etiquetas
automticamente.

Para hacer esto hay muchas opciones, tanto en Windows como en Linux, aunque la
mayora es de pago. Por ejemplo, XMLSpy tiene un buen entorno, funciona solo para
Windows, paro es relativamente inestable (al menos las versiones probadas). eXcelon
Stylus permite adems aplicar transformaciones, en un entorno de tres paneles bastante
regular. Tambin es relativamente caro. <oXygen/> es bastante econmico para uso
personal o acadmico, y tiene una versin de prueba de treinta das. Est basado en
Java, y funciona tanto en Windows como en Linux. Te completa las etiquetas, y es
aceptablemente rpido. Se basa tambin en bastantes herramientas libres, tales como
Batik y FOP de Apache. Otra opcin, bastante simple, es XMLShell, que permite tambin
hacer transformaciones XSLT simples.
Los mismos entornos incluyen facilidades para validar el cdigo XML resultante, pero esto
se puede hacer tambin usando analizadores XML, de los cuales hay muchos, de
bastante buena calidad, y la mayor parte de ellos gratuitos. Uno de los ms conocidos y
usados es el Xerces, del cual hay versiones en Java, en Perl y en C++. Es
adecuadamente rpido, y adems incorpora todos los ltimos estndares del W3. Otra
opcin, que adems se puede usar desde Internet, es el XParse de Jeremie, que te
analiza directamente el documento y te lo presenta en forma de rbol.

La mayor parte de los validadores pueden trabajar de dos formas: de forma


independiente, y usndolos como libreras desde el lenguaje de programacin de la
eleccin de uno; por ejemplo, Xerces se puede usar stand-alone, o bien como una librera
xerces.jar, cuyos objetos se pueden instanciar o usar desde el programa de uno.

CMD
Es una abreviatura que significa COMMAND este comando sirve para abrir la consola de
MS-DOS, es la principal herramienta para ejecutar comandos en Windows; desde esta
consola pueden ejecutarse comandos de sistema operativo utilizando la lnea de
comandos en vez de utilizar la interfaz grfica.

NETBEANS
NetBeans es un entorno de desarrollo integrado libre, hecho principalmente para el
lenguaje de programacin Java. Existe adems un nmero importante de mdulos para
extenderlo. NetBeans IDE2 es un producto libre y gratuito sin restricciones de uso.
NetBeans es un proyecto de cdigo abierto de gran xito con una gran base de usuarios,
una comunidad en constante crecimiento, y con cerca de 100 socios en todo el mundo.
La plataforma NetBeans permite que las aplicaciones sean desarrolladas a partir de un
conjunto de componentes de software llamados mdulos. Un mdulo es un archivo Java
que contiene clases de java escritas para interactuar con las APIs de NetBeans y un
archivo especial (manifest file) que lo identifica como mdulo. Las aplicaciones
construidas a partir de mdulos pueden ser extendidas agregndole nuevos mdulos.
Debido a que los mdulos pueden ser desarrollados independientemente, las aplicaciones
basadas en la plataforma NetBeans pueden ser extendidas fcilmente por otros
desarrolladores de software.

JDK (Java Development Kit)

Se trata de un conjunto de herramientas (programas y libreras) que permiten


desarrollar (compilar, ejecutar, generar documentacin, etc.) programas en
lenguaje Java.
Existen versiones del JDK para prcticamente todos los Sistemas Operativos y
existen tambin distintos programas comerciales

Sun distribuye gratuitamente el JDK oficial para los siguientes sistemas


operativos: Windows 95/98/NT, Solaris y Linux

Se pueden conseguir en Internet (http://www.javasoft.com/)


Los profesores de la asignatura los facilitarn a los alumnos que lo deseen en un CDROM prestado para la instalacin.
Los JDK incorporan una herramienta de Debugger (detener la ejecucin de un
programa en la lnea que se desee y poder conocer el valor de las variables en
ese momento)
La versin JDK1.2 se ha empezado a denominar tambin Java 2
JRE (Java Runtime Environment)

Versin reducida del JDK que permite ejecutar cdigo Java


No permite compilar ni utilizar el Debugger
Viene incluido en el JDK pero tambin puede instalarse separadamente
Es de libre distribucin

MARCO TERICO

JSON
JSON (JavaScript Object Notation - Notacin de Objetos de JavaScript) es un formato
liviano de intercambio de datos. Leerlo y escribirlo es simple; que para las mquinas es
simple interpretarlo y generarlo. Est basado en un subconjunto del Lenguaje de
Programacin JavaScript. JSON es un formato de texto que es completamente
independiente del lenguaje pero utiliza de la familia de lenguajes C, incluyendo C, C++,
C#, Java, JavaScript, Perl, Python, y muchos otros. Estas propiedades hacen que JSON
sea un lenguaje ideal para el intercambio de datos.

JSON est constituido por dos estructuras:

Una coleccin de pares de nombre/valor. En varios lenguajes esto es conocido


como un objeto, registro, estructura, diccionario, tabla hash, lista de claves o un
arreglo asociativo.

Una lista ordenada de valores. En la mayora de los lenguajes, esto se implementa


como arreglos, vectores, listas o secuencias.

Estas son estructuras universales; virtualmente todos los lenguajes de programacin las
soportan de una forma u otra. En JSON, se presentan de estas formas:

Un objeto es un conjunto desordenado de pares nombre/valor. Un objeto comienza


con {(llave de apertura) y termine con} (llave de cierre). Cada nombre es seguido por: (dos
puntos) y los pares nombre/valor estn separados por, (coma).

Un arreglo es una coleccin de valores. Un arreglo comienza con [(corchete izquierdo) y


termina con] (corchete derecho). Los valores se separan por, (coma).

Un valor puede ser una cadena de caracteres con comillas dobles, o un nmero,
o true o false o null, o un objeto o un arreglo. Estas estructuras pueden anidarse.

Una cadena de caracteres es una coleccin de cero o ms caracteres Unicode,


encerrados entre comillas dobles, usando barras divisorias invertidas como escape. Un
carcter est representado por una cadena de caracteres de un nico carcter.
Una cadena de caracteres es parecida a una cadena de caracteres C o Java.

Un nmero es similar a un nmero C o Java, excepto que no se usan los formatos octales
y hexadecimales.

Los espacios en blanco pueden insertarse entre cualquier par de smbolos.


Exceptuando pequeos detalles de encoding, esto describe completamente el lenguaje.

GSON
Gson es una biblioteca de Java que se puede utilizar para convertir objetos Java en su
representacin JSON. Tambin se puede utilizar para convertir una cadena JSON a un
objeto Java equivalente. Gson puede trabajar con objetos Java arbitrarias incluyendo
objetos preexistentes que usted no tiene el cdigo.
GSON Objetivos

Proporcionar toJson sencilla () y fromJson () para convertir objetos Java a JSON y


viceversa

Permitir preexistente objetos inmodificables para convertir desde y hacia JSON

Amplio soporte de los genricos de Java

Permitir representaciones personalizadas para objetos

Soporte objetos arbitrariamente complejas (con jerarquas de herencia de


profundidad y un amplio uso de tipos genricos)

JSP
JSP es un acrnimo de Java Server Pages, que traduce como Pginas de Servidor Java.
Es una tecnologa orientada a crear pginas web con programacin en Java.
Con JSP podemos crear aplicaciones web que se ejecuten en variados servidores web,
de mltiples plataformas, ya que Java es en esencia un lenguaje multiplataforma. Las
pginas JSP estn compuestas de cdigo HTML/XML mezclado con etiquetas especiales
para programar scripts de servidor en sintaxis Java. Por tanto, las JSP se pueden escribir
en el editor HTML/XML habitual.
Motor JSP
El motor de las pginas JSP est basado en los servlets de Java -programas en Java
destinados a ejecutarse en el servidor.
En JSP crean pginas de manera parecida a como se crean en ASP o PHP -otras
dos tecnologas de servidor; Se generan archivos con extensin .jsp que incluyen, dentro
de la estructura de etiquetas HTML, las sentencias Java a ejecutar en el servidor. Antes
de que sean funcionales los archivos, el motor JSP lleva a cabo una fase de traduccin de
esa pgina en un servlet, implementado en un archivo class (Byte codes de Java). Esta
fase de traduccin se lleva a cabo habitualmente cuando se recibe la primera solicitud de
la pgina .jsp, aunque existe la opcin de precompilar en cdigo para evitar ese tiempo de
espera la primera vez que un cliente solicita la pgina.
POJO
Un POJO (acrnimo de Plain Old Java Object) es una sigla utilizada por programadores
Java para enfatizar el uso de clases simples y que no dependen de un framework en
especial. Este acrnimo surge como una reaccin en el mundo Java a los frameworks
cada vez ms complejos, y que requieren un complicado andamiaje que esconde el

problema que realmente se est modelando. En particular surge en oposicin al modelo


planteado por los estndares EJB anteriores al 3.0, en los que los "Enterprise JavaBeans"
deban implementar interfaces especiales.
Un objeto POJO es una instancia de una clase que no extiende ni implementa nada en
especial. Por ejemplo, un Servlet tiene que extender de HttpServlet y sobrescribir sus
mtodos, por lo tanto no es un POJO. En cambio, si se define una clase 'Persona', con
sus atributos privados y sus correspondientes getters y setters pblicos, una instancia de
esta simple clase es un objeto POJO.
SEVLET
Los servlets son la tecnologa de la plataforma Java de eleccin para la ampliacin y
mejora de los servidores web. Los servlets proporcionan un mtodo independiente de la
plataforma basada en componentes para la creacin de aplicaciones basadas en la Web,
sin las limitaciones de rendimiento de los programas CGI. Y a diferencia de los
mecanismos de extensin de servidor de propiedad (como la API de servidor de Netscape
o mdulos de Apache), los servlets son del servidor y del independiente de la
plataforma. Esto te deja libre para seleccionar un "best of breed" estrategia para sus
servidores,

plataformas

herramientas.

Servlets tienen acceso a toda la familia de las API de Java, incluyendo la API JDBC para
acceder a bases de datos empresariales. Los Servlets tambin pueden acceder a una
biblioteca de llamadas HTTP especfica y recibir todos los beneficios del lenguaje Java
madura, incluyendo la portabilidad, rendimiento, reutilizacin, y la proteccin de choque.
Servlets hoy son una opcin popular para la construccin de aplicaciones Web
interactivas.Contenedores de servlets de terceros estn disponibles para el servidor Web
Apache, Microsoft IIS, y otros. Contenedores de servlets son normalmente un
componente de los servidores web y de aplicaciones, tales como BEA WebLogic
Application Server, IBM WebSphere, Sun Java System Web Server, Sun Java System
Application Server, y otros.
JQUERY
jQuery es uno de los complementos ms esenciales para el desarrollo web, jQuery no es
un lenguaje, sino una serie de funciones y mtodos de Javascript. Por tanto, Javascript es
el lenguaje y jQuery es una librera que podemos usar opcionalmente. A veces nos
podemos referir a jQuery como framework o incluso como un API de funciones, tiles en

la mayora de proyectos web. Iquery permite simplificar la manera de interactuar con los
documentos HTML, manipular el rbol DOM, manejar eventos, desarrollar animaciones y
agregar interaccin con la tcnica AJAX a pginas web.

Otra caracterstica principal de la biblioteca es que permite cambiar el contenido de una


pgina web sin necesidad de recargarla, mediante la manipulacin del rbol DOM y
peticiones AJAX.
AJAX
Ajax significa Asynchronous JavaScript y XML. En esencia, el Ajax es una forma eficaz
para una aplicacin web para gestionar las interacciones del usuario con una pgina web
- una manera que reduce la necesidad de hacer una actualizacin de la pgina o pgina
de recarga completa para cada interaccin con el usuario. Esto permite un
comportamiento rico (similar a la de una aplicacin de escritorio o una aplicacin web
basada en complementos) usando un navegador. Interacciones Ajax se manejan de forma
asncrona en el fondo. Mientras esto sucede, el usuario puede seguir trabajando con la
pgina. Interacciones Ajax son iniciadas por el cdigo JavaScript. Cuando la interaccin
Ajax es completa, JavaScript actualiza el cdigo fuente HTML de la pgina. Los cambios
se realizan de inmediato sin necesidad de una actualizacin de la pgina. Interacciones
Ajax se pueden utilizar para hacer las cosas como las entradas Validar formulario
(mientras el usuario est entrando en ellos) usando la lgica del lado del servidor,
recuperar datos detallados del servidor, actualizar dinmicamente los datos en una
pgina, y presentar formas parciales de la pgina.

III. Procedimiento
1. Conversor de XML a JSON
En este ejercicio se realizar una aplicacin JAVA que permita convertir un
documento en formato XML a JSON. Para esto se emplearan las clases de json
for java, suministradas por el profesor.
Pasos:
1. Con el siguiente documento xml se empleara el conversor.
<?xml version="1.0" encoding="UTF-8"?>
<breakfast_menu>
<food>
<name>Belgian Waffles</name>
<price>$5.95</price>

<description>
Two of our famous Belgian Waffles with plenty of real maple syrup
</description>
<calories>650</calories>
</food>
<food>
<name>Strawberry Belgian Waffles</name>
<price>$7.95</price>
<description>
Light Belgian waffles covered with strawberries and whipped cream
</description>
<calories>900</calories>
</food>
</breakfast_menu>

2. Cree una aplicacin Java llamada HolaJSON


3. Coloque las clases de JSON en el package org.json
4. Dentro de la clase principal coloque el siguiente cdigo.

5. Se emplea el objeto JSONObject que contendr la salida de los datos formateados


que provienen del documento XML, para lo cual se llama el mtodo
toJSONObject().
6. Compile el proyecto y ejectelo. Observe la salida.

2. Generacin de un archivo JSON desde un POJO en JAVA


1. Creamos un proyecto JAVA App en Netbeans con el nombre JSONPrueba.
2. Se emplearan 5 clases: JSONArray, JSONException, JSONObject,
JSONString y JSONTokener, descargadas de json.org y las agregamos a
nuestro proyecto de Java de tal manera que nos quede as:

3. Hecho esto, podemos crear un bean por ejemplo al que le agregaremos


algunos atributos. Este bean podra ser una entidad que haga referencia a una

tabla de base de datos por ejemplo. Para este ejemplo vamos a crear un bean
Vendedor y un bean Cliente tal como se muestra a continuacin:
Creamos la clase Vendedor.

Ahora creamos la clase Cliente

4. Ahora creamos nuestro mtodo principal en donde instanciamos un objeto

Vendedor al que se le asocia dos clientes y creamos el objeto JSON a partir de


ello.

5. El resultado mostrado a continuacin refleja de mejor manera lo que realmente

queremos representar y a su vez, este objeto puede ser interpretado por


cualquier lenguaje de programacin.

3. AJAX con Servlets empleando JQuery y JSON


En este ejercicio crearemos una simple pgina JSP con dos combobox sincronizados.
En uno se contienen los valores de pases y en otro se poblara con los valores de los
estados o departamentos asociados al valor de cada pas seleccionado. Estas
operaciones se realizaran sin tener que refrescar la pgina, por medio de llamadas
AJAX a un servlet que tomara los eventos cuando se cambie el combobox.
Pasos.
1.

Crear un proyecto Java Web en Netbeans, llmelo AJAXJSON y seleccione el


servidor de aplicaciones
Glassfish y el contenedor JEE7. No emplearemos ningn framework.
2. Cree una pgina JSP llamada inicio.jsp. Puede asociarla a un descriptor de
despliegue como web.xml.
3. Coloque el siguiente cdigo. Observe que en la etiqueta <script> se enlaza la
funcin contra la librera JQuery que nos permitir dar la respuesta va JSON en
formato clave, valor para mostrar los datos en cada combo box.

4. Descargue la librera Google GSON de la siguiente pgina


http://code.google.com/p/google-gson/downloads/list y colquela en la carpeta lib
del proyecto.

5. Cree ahora un servlet llamado ActionServlet (Note que es llamado en el codigo


del JQuery). Coloque el siguiente cdigo dentro del mtodo processRequest().

6. Ahora Despliegue el proyecto y abra la pagina JSP con el Navegador


predeterminado.

Si cambiamos al combo de pas a US nos cargaran los datos de sus estados.

6. Anlisis de Javascript con Mozilla Firefox


Procedemos a analizar la comunicacin del cliente con el servidor a travs de la
consola de desarrolladores de MAXTON. Para esto la activamos as:
A continuacin selecciones Consola Web
Cada vez que realice una nueva peticin AJAX se enviara el parmetro por medio del
mtodo HTTP GET. Seleccione la URL relacionada con el ActionServlet y analice la
informacin de las cabeceras de los request y response, el uso del objeto AJAX

XMLHttpRequest, as como el formato MIME (application/json) de la salida y el cuerpo


de la respuesta en JSON. (Mirar las flechas rojas de la imagen).

Headers
1.

Remote Address:127.0.0.1:8080 (Direccin donde se encuentra alojado el


servlet)

2.

Request URL:http://localhost:8080/AJAXJSON/ActionServlet?
countryname=Colombia (Url solicitada para el servlet)

3.

Request Method:GET (Mtodo HTTP que se usa en la solicitud.)

4.

Status Code: 200 OK Respuesta del Servidor (HTTP Response), peticin


correcta.
(El cdigo de estado HTTP devuelto por el servidor. 200 es una respuesta comn para
una respuesta satisfactoria; aunque cualquier valor dentro de la gama de 200-299 se

considera Aceptar. Si deseo ingresar a un sitio donde no est inscrito la respuesta ser
401 que es una respuesta de no autorizado; esto est relacionado con el cdigo de
respuesta http.)
Response Headers
1.

Content-Length: 66 (Es la longitud del cuerpo de la peticin dada en una longitud


en octetos (bytes de 8 bits))

2.

Content-Type: application/json;charset=UTF-8 (El tipo MIME del cuerpo de la


solicitud (se usa con POST y peticiones PUT )

3.

Date: Thu, 16 Apr 2015 19:25:04 GMT (La fecha y hora en que se envi el
mensaje (en " HTTP - fecha " formato como se define en el RFC 7231 de fecha / Formatos
de hora )

4.

Server: GlassFish Server Open Source Edition 4.0 (Nombre del servidor)

5.

X-Powered-By: Servlet/3.1 JSP/2.3 (GlassFish Server Open Source Edition 4.0


Java/Oracle Corporation/1.7) (especifca la tecnologa (por ejemplo, ASP.NET , PHP ,
JBoss ) el apoyo a la aplicacin web ( detalles de la versin estn a menudo en X Runtime , X -Version , o X - ASPNET - Version))
Request Headers

1.

Accept: */* (Son los tipos de contenido que pueden ser aceptables para la
respuesta . Ver negociacin de contenido.)

2.

Accept-Encoding: gzip, deflate, sdch (Es la lista de codificaciones aceptables.


Ver

3.

compresin HTTP )
Accept-Language: es-ES,es;q=0.8 (Es el listado de las lenguajes humanos que

pueden ser aceptables para la respuesta . Ver negociacin de contenido.)


4.

Connection: keep-alive (Son las opciones de control para la conexin actual y la


lista de campos de solicitud hop-by -hop)

Cookie: JSESSIONID=3a1e8374ae34518375757fd73109 Una cookie de HTTP enviada


previamente por el servidor con Set-Cookie (abajo))
En este parmetro se guarda el ID de la sesin de una cookie alojada en el navegador del
usuario.
5.

6.

Host: localhost:8080 (El nombre de dominio del servidor (por hosting virtual ) , y el
nmero de puerto TCP en el que el servidor est escuchando . El nmero de puerto puede
omitirse si el puerto es el puerto estndar para el servicio solicitado. Obligatorio desde
HTTP / 1.1.)
Referer: http://localhost:8080/AJAXJSON/inicio.jsp
(Esta es la direccin de la pgina web anterior de la que es seguida de un enlace a la
pgina actualmente solicitada. (La palabra referrerha sido mal escrito en el RFC, as
como en la mayora de las implementaciones hasta el punto que se ha convertido en el
uso estndar y se considera la terminologa correcta) )

7.

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36


(KHTML, like Gecko) Maxton/ 4.4.2000 chrome/ 30.0.1599.101 Safari/537.36
Define el explorador de internet que el usuario esta usando o que el usuaro uso para
realizar la peticion al servidor.

8.

X-Requested-With: XMLHttpRequest
(utilizado principalmente para identificar las peticiones Ajax . La mayora de los
frameworks de JavaScript enviar este campo con el valor de XMLHttpRequest)
7. Anlisis de Javascript con Google Chrome
El procedimiento de anlisis en Chrome inicia activando la consola JavaScript ubicada en
la opcin Ms herramienta mostrada a continuacin.

Aparecer la consola, ahora realice una peticin AJAX y elija el evento del servlet.
Observe la informacin de las cabeceras. En el separador Preview o en Response puede
observar la respuesta del JSON

4. Ejemplo de JSON con Jersey + Jackson


El API Jersey utiliza Jackson para convertir objetos desde y hacia JSON. En este ejemplo
se convertir un objeto llamado track en formato JSON y ser retornado al usuario.
Pasos
1.

Cree una WebApp en Netbeans. Asegrese de elegir la plataforma JEE7 y el


servidor de Apps Glassfish.

2. Cree una clase llamada POJO dentro del package com.udea que permitir
despus a Jersey convertirlo en formato JSON.

3. JAX-RS con Jersey


Cree un nuevo servicio web RESTful como se presenta a continuacin, seleccionando
RESTful Web Services from Patterns.

A continuacin seleccione Simple Root Element

En la siguiente ventana configure las siguientes opciones:

Asegrese que el Path sea /json/metallica, el cual permitir referenciar el recurso


directamente desde la URL. El tipo MIME ser application/json.
Edite los mtodos que aparecen por defecto y cmbielos por el siguiente cdigo

Realice

una

anotacin

al

mtodo

getTrackInJSON()

con

@Produces(MediaType.APPLICATION_JSON). Jersey llamara el uso de Jackson para


manejar la conversin de JSON automticamente.
Realice un llamado a un cliente RESTFul Jersey como se presenta a continuacin.
Asegrese de seleccionar el recurso REST del listado del proyecto (Seccion Select The
REST Resource en la figura).

Realice un Clean and Build al proyecto y luego realice un Deploy para activarlo en el
servidor de aplicaciones Glassfish.
En la carpeta del proyecto verifique en la seccin RESTFul Web Services que este
cargado correctamente los mtodos.

Ahora proceda a abrir el navegador web y pruebe el mtodo GET asociado al servicio.
Cuando el patrn URI /json/metallica/get es solicitado, los datos de la cancin sern
retornados en formato JSON.
{
"singer" : "Metallica",
"title"

"Enter Sandman"

}
Asegrese de que la URL empleada sea la correcta para el retorno de los datos
adecuadamente.

CONCLUSIONES

XML tiene una filosofa de manejo de informacin que busca la mxima utilidad y
flexibilidad de los datos a travs de su forma estructurada y pura, en forma de
rboles.

JSON es un formato de datos, no est limitado a las aplicaciones web de Ajax y se


puede usar en cualquier escenario en que las aplicaciones necesiten intercambiar
o almacenar informacin estructurada como texto.

GSON es una librera que permite trabajar con objetos JAVA que
representan informacin de un formato JSON, pudiendo generar y/o
obtener datos de dicho formato de una manera clara e intuitiva.

Teniendo en cuenta de que el principal objetivo del AJAX, es intercambiar


informacin entre el servidor y el cliente (navegadores) sin la necesidad de
recargar la pgina. Se puede determinar que permite una mayor rapidez en las
operaciones, menos carga en los servidores, mayor interactividad y as de esta
forma, ganamos en usabilidad, experiencia y productividad del usuario final.

BIBLIOGRAFA

Saregune (2008). Breve Historia de XML. Tomado de:http://goo.gl/Spc5MU


Wikipedia (2014). Extensible Markup Language. Tomado de:http://goo.gl/QFk5po
Wikipedia (2014). JSON. Tomado de: http://goo.gl/ii4WqO
Juan Julian Mrelo Guervos (2004). Introduccin al lenguaje XML. Disponible en:
http://goo.gl/GkIABB
Csar Krall. (2006)Qu es y para qu sirve Ajax? Ventajas e
inconvenientes. JavaScript asncrono, XML y JSON. abril 29 de 2015, de

aprendeaprogramar Sitio web: http://www.aprenderaprogramar.com/index.php?


option=com_content&view=article&id=882:ique-es-y-para-que-sirve-ajax-ventajase-inconvenientes-javascript-asincrono-xml-y-json-cu01193e&catid=78:tutorialbasico-programador-web-javascript-desde-&Itemid=206

También podría gustarte