JTagua

Inicio » Servlet » Ejemplos

Category Archives: Ejemplos

Anuncios

Servlet 06: Bolsa de Madrid.

La bolsa de Madrid ha dedicido incorporar a su sitio web información numérica y gráfica de los valores medios mensuales de determinados valores asociados al IBEX-35 ( Información bursátil de 35 valores del mercado). Para resolver este problema dispone de una base de datos en formato MySQL denominada bolsamadrid2009, esta base de datos tiene una tabla llamada datos2009 con la siguiente descripción:

Image25

Todos los campos son DOUBLE, y salvo los campos día, mes y año que son enteros, los demás deben manejarse con dos decimales.

Image26

La tabla contiene 206 registros similares a los anteriores, y se corresponden a los valores numéricos dia a día (intradía) desde el 2 de Enero de 2009 al 18 de Noviembre de 2009 correspondientes a los días en los que la Bolsa de Madrid ha operado. (Se ha excluido intencionadamente el mes de Febrero).Con estos datos y en la idea de proporcionar a sus visitantes una información resumida tanto numérica como gráfica, se debe diseñar una página jsp tal como la que se muestra mas abajo, y en la que puede verse dos botones radiales que operan conjuntamente denominados “Numérico” (previamente seleccionado) y “Gráfico”. Estos dos botones presentan una primera opción al visitante. En el supuesto caso de que el visitante seleccione el botón Gráfico, operará otro grupo de botones radiales denominados “Sectores” (previamente seleccionado) y “Múltiples barras verticales”.

Image27

Si el usuario selecciona “Numérico” aparecerá

Image28

Si ahora el usuario quisiera ver en delalle un mes cualquiera, por ejemplo el mes de Marzo y selecciona en “detalle” en la fila del mes de Junio y aparecerá:

Image29

Desde aquí podrá volver a la pantalla anterior haciendo “Volver”.

Si por el contrario el usuario pulsa en el botón radial de la pantalla inicial “Grafico”, aparecerá dependiendo de los botones “Sectores” o “Barras Verticales Múltiples”.

Image30

 o

Image31

Se pide:

  1. Resolver el problema en los términos planteados haciendo uso del Modelo Vista Controlador.

  2. Implementar un juego de cookies que recuerde de una vez a otra, las selecciones realizadas por el usuario.

Anuncios

Servlet 01: Autentificación.

Se desea construir una aplicación cuyo objetivo fundamental es la autentificación de un cliente a través de los campos usuario y password, provenientes de un formulario. Se dispone, para dicha autentificación, de una base de datos en MySQL llamada db_user, que contiene una tabla llamada usuarios con dos campos o columnas alfanuméricas denominadas usuario y password.

Para resolver el problema se hace uso de una página index.jsp, que cuando se llama inicialmente produce la siguiente salida:

Image12

Cuando el usuario introduce un Nombre y un Password distintos ambos de nulo o blanco, un servlet con ayuda de un javabean localizan un registro en la tabla coincidente con los valores entrados, y por ello, presentan la siguiente pantalla generada con una nueva página jsp de bienvenida:

Image14

En caso contrario, es decir, cuando no existe una coincidencia exacta de la información entrada en el formulario con la que aparece en la base de datos, el propio servlet tendrá que generar la siguiente salida:

Image16

Este mensaje se presentará durante 5 segundos, transcurridos los cuales si el usuario no pulsa Volver, el servlet devolverá el control de la aplicación a la página de inicio o login.

Si en el formulario de entrada, los dos o uno cualquiera de los campos es nulo o blanco, el servlet presentará la información:

Image18

Este mensaje se presentará durante 5 segundos, transcurridos los cuales si el usuario no pulsa Volver, el servlet devolverá el control de la aplicación a la página de inicio o login.

 Se pide:

  1. Diseñar en MySQL e implementar la base de datos con las tablas y campos necesarios que permitan resolver el problema.

  2. Diseñar las páginas jsp de inicio y bienvenida, el servlet de control que se encargue de la navegación y el Javabean que se encarguen de la entrada de datos, la conexión a la base de datos y aquellas otras operaciones necesarias con dicha base de datos. Es decir, se pretende que se aplique el Modelo Vista Controlador.

 

Servlet 02: EL CORTE INGLÉS.

PROBLEMA PROPUESTO.

La empresa El Corte Inglés, desea para mejorar su portal, diseñar un servlet que maneje una cookie en el equipo de sus clientes visitantes. Este servlet debe guardar un valor que se corresponde a la última página de sección (Moda o Electrónica) visitada por el visitante.

En el supuesto caso de que sea la primera vez que el cliente accede a dicha página, y por tanto no exista la cookie en el cliente, se requiere crear dicha cookie con el valor de la sección “Moda” , e inmediatamente se mostrará la página de dicha sección.

Por el contrario, en el caso de que ya exista la cookie, el servlet controlará la carga de la página moda.jsp o electronica.jsp según el valor de dicha cookie.

Finalmente, desde cada una de las páginas anteriores se podrá volver a las secciones sin más que hacer clic en un enlace que cargue la página secciones.jsp. Esta página se encargará de actualizar la cookie según sea la sección última visitada.

Es decir, la primera vez cuando no existe cookie:

Image19

En este momento ya tiene que existir un valor de “Moda” en la cookie. (Puede comprobarse en el navegador).

Si en esta página se hace clic en “secciones” aparecerá:

Image21

Desde esta pantalla podemos ir por ejemplo a la sección de Electrónica, es decir:

Image24

Y ahora la cookie debe tener un valor asociado de “Electrónica”.

Si se conectara en cualquier otro momento por parte del cliente al portal, el servlet en lugar de cargar la página de la sección de Moda, deberá cargar la página de la sección de “Electrónica”.

 Se pide desarrollar las páginas jsp y el servlet que permita la funcionalidad descrita para un periodo de tres mese.

Servlet 04: Detalle Fármacos.

PROBLEMA PROPUESTO.

Se desea incorporar a una aplicación web un generador de informes con los datos en forma tabular y en forma gráfica a través de diagramas de barras verticales de los consumidores y consumidoras de los distintos tipos de medicamentos por sexo y por segmento de edad para un año dado.

 Para resolver el problema anterior, se ha diseñado una primera página index.jsp tal como la que se muestra mas abajo,

Image7

Esta interfaz contiene:

  •  Dos cajas de selección, sexo y tramo de edad.
    • Sexo: En esta caja sólo existen dos valores, Hombres (valor por defecto) y Mujeres.

    • Tramos de edad: En esta caja existen 5 opciones, De 0 a 15 años, De 16 a 24 años, De 25 a 44 años (valor por defecto), De 45 a 64 años y Mayores de 65 años.

  • Un botón para someter el formulario a un servlet, y éste a su vez controlará una clase que le sirva de modelo (MVC) para controlar la apertura, accesos y cierre de la base de datos.

El funcionamiento de la interfaz es el siguiente,

 Primera parte: Esta función se ejecutará tan pronto se seleccione el botón “Someter”, como es obvio el servlet que recibe esta acción tendrá en consideración cualquiera de las dos

selecciones: Sexo y tramo de edad. Y así por ejemplo, si se selecciona Mujeres de 16 a 24 años, aparecerá;

Image8

Donde puede verse que que los datos se corresponden a lo solicitado: Número (en miles) de Hombres de 25 a 44 años que tomaron los tipos de farmacos: Anticatarrales, Analgésicos, Antipiréticos, Reconstituyentes, Lasantes, Antibióticos, Tranquilizantes, Alergia, Reuma, Corazón, Tensión arterial, Estómago, Antidepresivos, Anticonceptivos, Menopausia, Colesterol y Antidiabéticos. (Este informe es el mismo que para Hombres, aunque obviamente con distintos datos). Como es natural, con las dos selecciones (sexo y tramo de edad) existen diez posibilidades, cinco para cada sexo.

 Segunda Parte: Si en la pantalla anterior se selecciona “Detalle” aparecerá el número de Hombres/Mujeres (en este caso Hombres) que consumieron el tipo de fármaco dependiendo de la línea pulsada por tramos de eedad. Esto es:

Image9

Como vemos tenemos una tabla del número de miles de hombres que tomaron farmacos (Lasantes) por grupos de edad.

Vemos igualmente un enlace para volver (Inicio) y otro para ir a la tercera parte del problema.

 Tercera Parte: Si en la pantalla anterior se selecciona “Gráfico” aparecerá el gráfico de la tabla anterior en un diagrama de columnas. Esto es:

Image10

La base de datos del problema se llama farmacos (MySQL), y coincide con la del problema propuesto anterior.

Tenga presente que los informes del INE (Instituto Nacional de Estadística) referido a este estudio jamás ha cambiado los 17 tipos de fármacos, así como los tramos de edad desde que está entregando dicha información. Esto significa que existe una posible simplificación de programación, que aunque menos elegante, es igualmente operativa y es considerar un array interno tanto los tramos como los farmacos.

Notas:

Se entrega para resolver el problema,

 

  • Imágenes farmacia.jpg, infgrafico.jpg, inftabular.jpg
  • Script backup necesario denominado Backup_Farmacos.sql necesario para montar la base de datos del problema
  • Componentes de la librería gráfica JfreeChart (jcommon-1.0.15.jar y jfreechart-1.0.12.jar)

 

SE REQUIERE OBLIGATORIAMENTE RESOLVER EL PROBLEMA DE ACUERDO AL MODELO VISTA CONTROLADOR.(MVC)

Servlet 03: Fármacos.

PROBLEMA PROPUESTO:

Se desea incorporar a una aplicación web un generador de informes con los datos en forma tabular y en forma gráfica a través de diagramas de barras verticales de los consumidores y consumidoras de los distintos tipos de medicamentos por sexo y por segmento de edad para un año dado.

 Para resolver el problema anterior, se ha diseñado una primera página index.jsp tal como la que se muestra mas abajo,

Image1

Esta interfaz contiene:

  • Un botón radial que puede tomar dos opciones, Informe Tabular (valor por defecto) e Informe Gráfico.

  • Dos cajas de selección, sexo y tramo de edad.

    • Sexo: En esta caja sólo existen dos valores, Hombres (valor por defecto) y Mujeres.

    • Tramos de edad: En esta caja existen 5 opciones, De 0 a 15 años, De 16 a 24 años, De 25 a 44 años (valor por defecto), De 45 a 64 años y Mayores de 65 años.

  • Un botón para someter el formulario a un servlet, y éste a su vez controlará una clase que le sirva de modelo (MVC) para controlar la apertura, accesos y cierre de la base de datos.

El funcionamiento de la interfaz es el siguiente,

Modo tabular: El modo tabular operará sólo si está seleccionado el botón radial Informe Tabular y se tomará en consideración cualquiera de las dos selecciones: Sexo y tramo de edad. Y así por ejemplo, si se selecciona Mujeres de 16 a 24 años.

Image2

Donde puede verse que que los datos se corresponden a lo solicitado: Número (en miles) de Mujeres de 16 a 24 años que tomaron los tipos de farmacos: Anticatarrales, Analgésicos, Antipiréticos, Reconstituyentes, Lasantes, Antibióticos, Tranquilizantes, Alergia, Reuma, Corazón, Tensión arterial, Estómago, Antidepresivos, Anticonceptivos, Menopausia, Colesterol y Antidiabéticos. (Este informe es el mismo que para Hombres, aunque obviamente con distintos datos). Como es natural, con las dos selecciones (sexo y tramo de edad) existen diez posibilidades, cinco para cada sexo.

 Modo gráfico: El modo gráfico operará sólo si está seleccionado el botón radial Informe Grafico y sólo tomará en consideración la selección del sexo, lo que quiere decir que tendrán que acumularse los datos cualquiera que sea la edad y para un sexo dado. Y así por ejemplo, si se selecciona Hombres, aparecerá el siguiente diagrama,

Image3

La base de datos del problema se llama farmacos (MySQL), y está constituida por tres tablas:

farmacos (17 Tipos de fármacos o medicamentos que toma la población), gruposedad (cinco tramos de edad en las que se divide la población para su estudio) y consumo (número, en miles de personas, que por sexo y tramo de edad han consumido cada uno de los 17 tipos de fármacos)

Tenga presente que los informes del INE (Instituto Nacional de Estadística) referido a este estudio jamás ha cambiado los 17 tipos de fármacos, así como los tramos de edad desde que está entregando dicha información.

Finalmente, la tabla consumo, está definida en la forma,

Image6

Donde el comando SQL, SELECT * FROM farmacos.consumo where consumo.sexo = ‘M’; produce el siguiente resultado:

Image5

Y este otro, SELECT * FROM farmacos.consumo where consumo.sexo = ‘V’;.

Image4

Notas:

Se entrega para resolver el problema,

  • Imágenes farmacia.jpg, infgrafico.jpg, inftabular.jpg
  • Script backup necesario denominado Backup_Farmacos.sql necesario para montar la base de datos del problema
  • Componentes de la librería gráfica JfreeChart (jcommon-1.0.15.jar y jfreechart-1.0.12.jar).

SE REQUIERE OBLIGATORIAMENTE UTILIZAR EL MODELO VISTA CONTROLADOR.(MVC)