Skip to content

1. Introducción

El PDF de este documento está disponible |AQUÍ|.

Los ejemplos de este documento están disponibles |AQUÍ|.

El objetivo de este documento es descubrir los fundamentos de la programación web MVC en Java con servlets y páginas JSP. Tras leer este documento y probar los ejemplos, el lector debería haber adquirido los conceptos básicos de la programación web en Java.


Para comprender mejor los ejercicios propuestos, puede resultar útil consultar el documento [Introducción a la programación web en Java con servlets y páginas JSP (2002)]. Las recomendaciones de lectura que se ofrecen al principio de algunas secciones hacen referencia a este artículo. En lo sucesivo, este documento se denominará [ref1].


Este documento se puede utilizar de diversas maneras:

  1. se instalan las herramientas, se descargan los códigos de la página web de este documento y se realizan las pruebas propuestas. Un principiante no sacará ningún provecho de este método. Un desarrollador experimentado, en cambio, puede hacerlo si solo le interesa probar el entorno de desarrollo Eclipse / WTP.
  1. Se instalan las herramientas, se sigue el documento y se realizan las pruebas propuestas copiando y pegando desde este documento. No se lee el documento [ref1]. Al proceder de esta manera, empezaremos a adquirir los fundamentos del desarrollo web, pero algunos puntos seguirán siendo confusos o «mágicos». Es un método viable si queremos avanzar rápido con la intención de profundizar más adelante, al escribir una aplicación personal y quizá con otro documento de referencia distinto de [ref1].
  2. Se hace lo mismo que en el punto 2, pero se lee el documento [ref1] cuando se recomienda. Este método, más lento, eliminará algunos de los puntos confusos y «mágicos» del método 2, pero no prepara bien para dar el salto por cuenta propia, ya que los códigos obtenidos mediante copiar y pegar no se comprenderán necesariamente bien.
  3. Se hace lo mismo que en el punto 3, pero se escriben todos los códigos a mano. Evidentemente, es más largo y tedioso, pero muy eficaz. Para escribir los códigos, hay que leerlos, lo que implica prestar atención al código y, por lo tanto, empezar a comprenderlo. Esta transcripción manual rara vez se realizará sin errores de transcripción. Estos errores, que serán señalados por las diferentes herramientas de Eclipse, llevarán al lector a cuestionarse el código que ha escrito y, de este modo, a comprenderlo mejor.

Este documento recoge gran parte de un artículo publicado en enero de 2005 titulado «Desarrollo web en Java con Eclipse y Tomcat» y disponible en la URL [http://tahe.developpez.com/java/eclipse/]. Las aportaciones con respecto a dicho documento son las siguientes:

  • el uso del complemento WTP de Eclipse para el desarrollo de aplicaciones web,
  • una reorganización del documento para hacer hincapié en la arquitectura MVC de tres capas, que apenas se abordaba en el documento inicial,
  • un ejemplo de aplicación web de tres capas MVC que utiliza los datos de un SGBD.

Una aplicación web de tres capas tiene la siguiente estructura:

  • la capa [dao] se encarga del acceso a los datos, que suelen ser datos persistentes dentro de un SGBD. Pero también pueden ser datos procedentes de sensores, de la red, etc.
  • La capa [metier] implementa los algoritmos «de negocio» de la aplicación. Esta capa es independiente de cualquier tipo de interfaz con el usuario. Por lo tanto, debe poder utilizarse tanto con una interfaz de consola como con una interfaz web o una interfaz de cliente enriquecida. Así, debe poder probarse al margen de la interfaz web y, en particular, con una interfaz de consola. Suele ser la capa más estable de la arquitectura. No cambia aunque se modifique la interfaz de usuario o la forma de acceder a los datos necesarios para el funcionamiento de la aplicación.
  • la capa [web], que es la interfaz web que permite al usuario controlar la aplicación y recibir información de la misma.

El artículo [http://tahe.developpez.com/java/eclipse/] solo ofrece ejemplos de aplicaciones web que se limitan exclusivamente a la capa [web]. Aquí se ofrece un ejemplo que utiliza las tres capas.