miércoles, 2 de marzo de 2011

Ejercicio empleando Struts

Crea una aplicación web que calcule el índice de masa corporal. La aplicación solicitará la edad, el peso en kilogramos y la altura en centímetros para efectuar dicho cálculo realizando las siguientes validaciones:
  • La edad debe ser superior o igual a 18 años, pues se considera que el cálculo no es suficientemente preciso aplicado a menores de edad.
  • La altura debe ser superior o igual a 150 cms, pues el cálculo se desvirtúa para personas que padezcan algún tipo de problema de crecimiento.
  • El peso no puede ser negativo o cero.
  • Todos los campos son obligatorios.

El resultado que debe mostrarse en la salida, en función del índice calculado, será:

  • Por debajo de los 20 Kg/m2: "Riesgo de dolencias pulmonares y desnutrición. Anorexia nerviosa"
  • Entre 20 y 25: "Peso ideal"
  • Entre 25 y 30: "Sobrepeso o exceso de peso"
  • Entre 30 y 35: "Obesidad leve"
  • Entre 35 y 40: "Obesidad moderada"
  • Por encima de 40: "Obesidad mórbida"

Para calcular el IMC emplea la siguiente fórmula:


Notas: Consulta ejemplos de validación de los tipos Double e Integer como referencia y adáptalos a los requerimientos de la aplicación. También puedes consultar la documentación oficial de ayuda de Apache Structs relativa a validaciones.

Descarga el proyecto con la solución aquí


miércoles, 23 de febrero de 2011

Ejercicios. Redireccionar servlets.

  • Trata de hacer funcionar este servlet que una vez invocado es capaz de redireccionarnos aleatoriamente hacia determinadas páginas web.
  • Prueba a cambiar las instrucciones "res.setStatus(res.SC_MOVED_TEMPORARILY); res.setHeader("Location",site);" por: "res.sendRedirect (site);"
  • Investiga cómo hacer este tipo de redirecciones con RequestDispatcher.

martes, 22 de febrero de 2011

Ejercicios. Filtro que cuenta el número de accesos a un servlet.

  • Filtro que se ejecuta cada vez que se accede a otro.
Descarga aquí el proyecto para Eclipse comprimido en .rar

PROPUESTA: Intenta incluir en el proyecto anterior este segundo filtro que contabiliza en la consola el tiempo de ejecución total del servlet. En la cadena de servlets debe ejecutarse después del filtro contador.


Ejemplos. Información de metadatos de una Base de Datos

Como ya se ha comentado en teoría existen clases en el paquete java.sql que permiten acceder a la información sobre el diseño y la estructura de la base de datos como un todo o de un ResultSet obtenido a partir de una consulta concreta. A este tipo de información se le llama "metadata" y las clases que nos permitirán obtenerlo son DatabaseMetaData y ResultSetMetaData.

  • Información de una Base de Datos
Cuando se necesita conocer sobre las capacidades, o el vendedor de una base de datos, se puede preguntar al objeto Connection por sus metadata. Existen muchas preguntas que se pueden hacer, entre ellas tenemos el tipo base de datos, la cantidad máxima de conexiones que permite la base de datos, etc. El fragmento de código que se encuentra a continuación, muestra como obtener esta información:


  • Información de un ResultSet
Se puede obtener información de la estructura de un conjunto de registros resultantes de una consulta. Esto puede ser muy útil para acceder a tablas de una base de datos de las cuales no se tenga información sobre su estructura. Utilizando la clase ResultSetMetaData podremos determinar la cantidad de columnas o campos que contiene un ResultSet, el tipo y nombre de cada campo, sin el campo es solo lectura, etc. La función siguiente muestra la estructura de una tabla que le pasemos como argumento:




También es posible mediante la utilización de la información del ResultSetMetaData mostrar la información de cualquier tabla sin tener la estructura previamente:

Ejercicios. Conexión a Bases de Datos MySQL mediante DataSource.

  • Proyecto "tutorias" implementado con pool de conexiones a base de datos MySQL.
Descarga el proyecto aquí, comprimido en formato .rar para importar en Eclipse.

lunes, 21 de febrero de 2011

jueves, 17 de febrero de 2011

Servlets. Ejemplos prácticos II

  • Tienda (múltiples servlets)
  • Contador de clics mediante cookies
Puedes descargar la carpeta comprimida del proyecto aquí.

martes, 15 de febrero de 2011

Ejercicios. Lanzando un servlet en Tomcat con Eclipse


Trata de hacer funcionar la siguiente aplicación basada en servlets en tu entorno de trabajo. Al abrir la página "index.html" obtendrás una interfaz de búsqueda que te dejará buscar una palabra clave eligiendo entre varios buscadores y especificando el número máximo de resultados por página. Ignora de momento la semántica del código limitándote a experimentar con el proceso de trabajo con Eclipse y Tomcat.

DESCARGA LOS ARCHIVOS NECESARIOS AQUÍ


Diapositivas. Fundamentos de Java


Videotutoriales. Aplicaciones web en Eclipse

martes, 1 de febrero de 2011

Temas a tratar en el curso


1. Arquitectura J2EE
2. Servlets
3. JDBC. Trabajando con Bases de Datos
4. Java Server Pages (JSP)
5. Arquitectura y diseño EJB
6. Patrones de diseño
7. Framework Struts