May 08 2009

Conectarse a MySQL en Tomcat

Categoría: DAD,Informática,TecnologíaMiguel Angel @ 16:37

Existen varias opciones a la hora de conectarse desde una aplicación Tomcat a una base de datos .

Nosotros lo haremos contra una base de datos MySQL. Y para ello necesitaremos el driver que descargaremos de la web de MySQL. Sólo hay que copiar el fichero mysql-connector-java*.jar en el directorio WEB-INF/lib/.

Veamos dos formas diferentes de realizar una conexión. Aunque nos quedaremos con la segunda siempre es bueno conocer otras opciones menos válidas y saber los motivos.

Opción 1: En el servlet Control

  1. Creamos un atributo para la conexión
    • private Connection Conexion = null;
  2. Creamos un método estático getConexion que devuelva una conexión con la base de datos, creándola si no existe.
  3. Sobreescribimos el método destroy para asegurarnos que se cierra la conexión con la base de datos una vez que se destruye el servlet.

Leer más…

Etiquetas: , , ,


May 07 2009

Filtrar peticiones en Tomcat

Categoría: DAD,InformáticaMiguel Angel @ 17:37

Muchas veces puede ser necesario filtrar todas las peticiones que se hacen a un servlet para realizar operaciones de control antes y después de la misma. Por ejemplo, controlar la conexión con la base de datos.
¿Y como se hace esto en Tomcat? Pues lo de siempre, una clase que implementa una interfaz y un cambio en la configuración del web.xml para que filtre las peticiones a un servlet. Vamos por partes…

Leer más…

Etiquetas: , ,


Abr 30 2009

Tomcat (VIII): patrón Modelo – Vista – Control

Categoría: DAD,InformáticaMiguel Angel @ 19:26

TomcatYa llevamos con esta 8 entradas sobre Tomcat donde se han explicado diferentes funcionalidades. Pero tal vez nos falta una visión global de como implementar una aplicación web.

Existen muchas opciones pero tal vez la más recomendable sea aplicar el patrón Modelo-Vista-Control. ¿Y en que consiste? Pues muy fácil, que todas las peticiones pasen por un único punto, Control, que dependiendo de la acción a realizar ejecutará un modelo u otro. Este modelo redirige la petición hacia la vista (una JSP) correspondiente.

Leer más…

Etiquetas: ,


Abr 30 2009

Apache Tiles, un sistema de plantillas

Categoría: DAD,InformáticaMiguel Angel @ 0:55

apachetiles

NOTA: esta entrada es para la versión 2.1 de Apache Tiles.

En una entrada anterior estuvimos hablando de cómo crear una librería de etiquetas JSP. En la presente vamos a utilizar una que nos permita crear un sistema de plantillas.

¿Pantillas? Sí, plantillas. Para no repetir código y estructurar nuestra página de forma correcta. Hasta ahora creabamos una página JSP que contenía todo el código: cabecera, menú lateral, pie y centro. Pero, ¿que sucede si quiero crear una nueva página que tenga la misma cabecera, menú y pie, pero con distinta parte central? Pues que si no utilizamos plantillas y obviamos el uso de la librería de etiquetas que viene con JSP, tendríamos que copiar el mismo código.

Para evitar esta situación aparece Apache Tiles que, como se indica en su página, es un marco de plantillas diseñado para simplificar el desarrollo de interfaces de usuario de aplicaciones Web. Tiles permite definir a los autores de la página fragmentos (tiles) que pueden montarse en una página completa en tiempo de ejecución. Estos fragmentos se pueden utilizar simplemente con el fin de reducir la duplicación de los elementos de la página o para desarrollar una serie de plantillas reutilizables. Estas plantillas agilizan el desarrollo de una aplicación completa.

Tiles creció en popularidad como un componente de  Struts. Posteriormente fue extraído de Struts y ahora está integrado con diversos frameworks.

Leer más…

Etiquetas: ,


Abr 19 2009

Tomcat (VII): Librería de etiquetas JSP

Categoría: DAD,ProgramaciónMiguel Angel @ 23:42

TomcatEn esta entrada crearemos nuestra propia librería de etiquetas que defina nueva funcionalidad reutilizable en distintas JSPs.

¿Cómo lo vamos a hacer? Lo primero será definir la etiqueta (nombre, atributos, cuerpo, etc) en un fichero denominado Tag Lib Description (TLD). Después crearemos la clase (o clases) Java que implementa la funcionalidad y configuraremos el fichero web.xml para que la aplicación «conozca» la nueva librería. Finalmente la utilizaremos en una página de prueba.

El ejemplo que seguiremos es el de una etiqueta que muestra el resultado de la operación matemática que se le indique como atributo.

Leer más…

Etiquetas: , , ,


Abr 08 2009

Tomcat (VI): Directivas JSP y paso de atributos

Categoría: DAD,ProgramaciónMiguel Angel @ 22:45

TomcatDespués de hacer una breve introducción a las JSP vamos a trabajar las directivas de páginas y el paso de atributos entre el servlet Control y la JSP. Así que, vamos por partes…

Directivas JSP

Como ya se comentó, una página JSP se «compila» para generar un fichero .java y este, cada vez que se ejecuta, crea la página html deseada. Pero, ¿podemos añadir información «extra» antes de compilar? Evidentemente la respuesta es sí. Y lo haremos mediante el uso de lo que se denomina directiva.

Como no es objetivo de esta entrada explicar una a una todas las directivas, aquí os dejo un enlace donde están todas. Veamos dos ejemplos de uso:

Leer más…

Etiquetas: ,


Abr 07 2009

Tomcat (V): Mi primera JSP

Categoría: DAD,InformáticaMiguel Angel @ 3:34

Tomcat

En el servlet que desarrollamos en la entrada anterior se generaba el código html de la página a mostrar en el cliente. Pero el ejemplo propuesto en la misma era tan sencillo que tal vez pasamos por alto un aspecto importante: programar una aplicación web mediante servlets que generan el código html puede ser bastante tedioso.

Sería interesante tener un mecanismo que nos permitiera generar los servlets a partir de un fichero similar a uno html. Y por eso aparecen las Java Server Pages (JSP). Así que una JSP es un fichero que se compila para generar un servlet (.java) que se invocará para crear la página que se envía al cliente.

Pero… ¿eso no es lo mismo que hace PHP? No, PHP se procesa cada vez que se invoca mientras que las JSP se compilan para generar un servlet y, como tal, se cargan en memoria la primera vez y se ejecutan en las sucesivas llamadas. Por lo que es más rápido. Además, esa persistencia entre peticiones puede ser útil para gestionar las sesiones y las conexiones a la base de datos.

Esta entrada es una introducción muy breve a la tecnología JSP. Iré completando la información con enlaces a páginas donde se amplíe el contenido.
Leer más…

Etiquetas: ,


Abr 02 2009

Tomcat (IV): Mi primer Servlet

Categoría: DAD,InformáticaMiguel Angel @ 19:00

Tomcat

En esta entrada vamos a realizar nuestro primer servlet aunque antes es interesante resolver dos preguntas:

  • ¿Qué es un servlet?: una pequeña aplicación que se ejecuta en el servidor.
  • ¿Para que sirve?: realizar la funcionalidad de nuestra aplicación. Esto puede ir desde generar una página hasta controlar el acceso a la misma.

A nivel práctico vamos a reutilizar el formulario creado en la aplicación de la entrada anterior. Cuando se pulse el botón Enviar se ejecutará nuestro servlet.  Este a su vez devolverá una página Web que contenga el texto «Bienvenido, Nombre», donde «nombre» se corresponde con el valor introducido en el formulario.

Leer más…

Etiquetas:


Abr 02 2009

Tomcat (III): Mi primera página

Categoría: DAD,InformáticaMiguel Angel @ 18:17

TomcatEn esta entrada, continuando con las dos anteriores, donde hemos instalado tomcat y configurado eclipse, vamos a escribir nuestra primera aplicación y a explicar brevemente la estructura de directorios de una aplicación en Tomcat.

Como ya se comentó en la primera, todas las aplicaciones en Tomcat se encuentran dentro del directorio webapps del mismo. Bueno… eso no es del todo cierto ya que, como veremos más adelante, se puede configurar el servidor para que «coja» también las aplicaciones de un directorio que se encuentra fuera Tomcat.

Por defecto, tendremos una carpeta por aplicación dentro de webapps. y accesible a través de la url http://localhost:8080/nombreAplicacion/. Lo mejor es probarlo…

  1. Leer más…

Etiquetas:


Mar 29 2009

Tomcat (I): Instalación

Categoría: DAD,InformáticaMiguel Angel @ 2:35

TomcatCon esta entrada comienzo una serie dedicada a Tomcat cuyo principal objetivo es introducir en el a aquellas personas que lo desconocen.

La historia de Tomcat es un poco larga y no me voy a centrar en ella. Sólo comentar que en sus inicios no era un servidor web, sino una implementación realizada por James Duncan Davidson de la especificación de los servlets de Sun Microsystems y que, posteriormente, fue donada a la Apache Software Foundation. Dicha fundación, a través del proyecto Jakarta, es la encargada del desarrollo de Tomcat. Sin darnos cuenta ya ha aparecido la principal caracteristica de este servidor: implementa las especificaciones de Servlet y JSP de SUN y es, por tanto, un contenedor de servlets. Por cierto, dicho contenedor de servlets recibe el nombre de Catalina.

La primera pregunta que puede surgir es ¿que es un servlet?. Aunque será respondida en otra entrada, decir que se trata de una aplicación que se ejecuta en el servidor. Por tanto, Tomcat será un contenedor de aplicaciones de este tipo.

Entremos en materia…

Leer más…

Etiquetas: