Programación en castellano
Inicio > Taller Java > J2EE > Generar WML desde un Servlet
-Artículos

Generar WML desde un Servlet

1 . Página WML que generaremos
2 . Servlet que genera el código anterior
3 . Aplicaciones utilizadas en el ejemplo
4 . Direcciones de interes
    4.1 . WML y WAP
    4.2 . Java y Servlets

Técnicamente, el modelo de operación cliente/servidor de WAP es muy similar al utilizado en el WWW, y de hecho este ha sido diseñado para que sea posible aprovechar la infraestructura tecnológica existente en la Web para el aporte de contenidos.

Por tanto, esto significa que en el desarrollo de nuestras aplicaciones WAP podremos utilizar las aplicaciones y tecnologías que hasta el momento venimos utilizando en el desarrollo de nuestras aplicaciones Web: CGIs, ASP, PHP, Perl, Servlets, JSP, etc.

Sin duda alguna, una de las más idoneas y utilizadas es la plataforma Java, y en concreto la utilización de servlets y JSP.

En este artículo explicaremos como generar de forma dinámica nuestras páginas WML desde un servlet y veremos que sus diferencias con las generación de páginas HTML es mínima.

Página WML que generaremos

Este es el código de la página WML que generaremos:

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC 
              "-//WAPFORUM//DTD WML1.1//EN" 
              "http://www.wapforum.org/DTD/wml1.1.xml">
<wml>
<card id="cardpre" title="presentacion">
<p align="center"><b>Java en castellano</b></p>
<p align="center"><small>http://java.programacion.net</small></p>
<p align="center">Ejemplo generado desde un servlet</p>
</card>
</wml>
	

Que visto en el emulador WML de Nokía, presenta el siguiente aspecto:

Imagen del movil

No es el objetivo de este artículo, pero brevemente acerca del WML diremos que:

  • Que es una aplicación XML, y como tal los documentos WML podemos editarlos, validarlos y manipularlos utilizando las herramientas que normalmente utilizamos en XML.
  • Una página WML se denomina deck(baraja) y se subdivide en cards(cartas), de manera que podemos movernos por varias cards dentro de un mismo deck. En nuestro ejemplo solo tenemos un card.

Servlet que genera el código anterior

Este es el código que genera la página WML anterior

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class WMLservlet extends HttpServlet{

 public void init(ServletConfig config) throws ServletException
  {
    super.init(config);
  }

  public void service (HttpServletRequest req, 
                       HttpServletResponse res) throws
                       ServletException, IOException
  {

 PrintWriter f = res.getWriter();
 res.setContentType("text/vnd.wap.wml");
 f.println("<?xml version=\"1.0\"?>");
 f.println("<!DOCTYPE wml 
              PUBLIC \"-//WAPFORUM//DTD WML1.1//EN\"
              "http://www.wapforum.org/DTD/wml1.1.xml\">"); 
 f.println("<wml>");
 f.println("<card id=\"cardpre\" title=\"presentacion\">");
 f.println("<p align=\"center\"><b>Java en castellano</b></p>");
 f.println("<p align=\"center\">
               <small>http://java.programacion.net</small></p>");
 f.println("<p align=\"center\">Ejemplo generado desde un servlet</p>");
 f.println("</card>");
 f.println("</wml>");
 
 f.close();

  } 
}

Como podemos observar, es un servlet típico. La única diferencia con uno que genere HTML es lo que tenemos que poner en el método setContentType del objeto HttpServletResponse. En este caso tenemos que indicar que lo que vamos a enviar va a ser una página WML y esto lo indicamos con la siguiente expresión:

res.setContentType("text/vnd.wap.wml");

Aplicaciones utilizadas en el ejemplo

Este ejemplo ha sido desarrollado y probado con las siguientes aplicaciones.

  • El emulador de Nokia para visualizar la página WML generada.
  • El JSWDK-1.0.1 de Sun para poder ejecutar el servlet en mi máquina.
  • El parser XML de IBM para verificar que el documento WML que ibamos a generar desde el servlet era correcto.

Direcciones de interes

Estas son algunas direcciones interesantes relacionadas con el tema:

WML y WAP

Java y Servlets

  • Java en castellano
  • Tutorial de Servlets en Java en castellano.
 

Últimos comentarios
3 comentarios

que pasos mas tengo que hacer? (17/01/2006)

Por
quisiera saber si solamenet tengo que ejecutar el servlet no se si pudieras explicarme un poco mas por favor

hola esto es una prueba (02/06/2005)

Por
ha funcionado

hgjhg (16/09/2003)

Por
ghj
 
Tienda
Patrocinados
 

Copyright © 1999-2007 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network

red internet: musica mp3 | logos y melodias | hospedaje web linux | registro de dominios | servidores dedicados
más internet: comprar | recursos gratis | posicionamiento en buscadores | tienda virtual | gifs animados