Mostrando entradas con la etiqueta jsp. Mostrar todas las entradas
Mostrando entradas con la etiqueta jsp. Mostrar todas las entradas

miércoles, 29 de mayo de 2013

Ejercicio de clase. Clase 3: Sumador con reseteo.

Implementa una aplicación web que permita ir enviando al servidor un sumando cada vez, de manera que con cada solicitud devuelva la suma acumulada durante las sucesivas peticiones. Para poder cancelar la secuencia y volver a empezar debe disponer de un enlace para resetear.

 

Formulario de envío de los sucesivos valores
 

Página JSP mostrando el resultado de la suma acumulada


Descargar solución (proyecto NetBeans para GlassFish)

Ejercicios de clase. Clase 3: Piedra, papel, tijeras.


Siguiendo un esquema Modelo-Vista-Controlador como el visto en clase que emplee Java Beans,  páginas JSP y Servlets para cada rol, implementa una aplicación web que emule el clásico juego de "Piedra, papel, tijeras". Cuando el usuario accede al sitio por primera vez obtiene un formulario donde puede escoger entre una de esas tres opciones. Después de enviar el formulario, en el lado del servidor se generará un valor aleatorio que se corresponderá también con uno de esos tres conceptos. Tras comprobar quién ha ganado (el cliente o el servidor) se mostrará el resultado al cliente haciendo constar las partidas ganadas que cada uno acumula y las jugadas ganadas por ambos durante la partida actual.

El número máximo de jugadas por partida será de 5 pero presumiblemente este valor podrá ser modificado en un futuro por lo que no deberá ser una constante que forme parte del código sino que deberá ser un parámetro recogido del descriptor de despliegue. Sería conveniente también que el usuario de la aplicación dispusiese de un enlace que le permitiese cancelar el juego y empezar de nuevo si así lo desea.

TIP:

Para conseguir un número entero entre M y N con M menor que N, debemos usar esta fórmula


    int valorEntero = Math.floor(Math.random()*(N-M+1)+M);


 
 
 
 
 Descargar solución propuesta (proyecto NetBeans para GlassFish)
 

 
Alternativa para la inicialización del parámetro del número de jugadas por partida empleando anotaciones en lugar de hacerlo en el descriptor de despliegue:



 

martes, 28 de mayo de 2013

Ejercicios de clase. Clase 2: Mejora al ejercicio 1 mediante un servlet

a) Intenta mejorar la solución adoptada en el ejercicio 1 mediante la separación entre las partes de vista, control y lógica de operaciones. Para ello implementa un servlet que actúe como controlador recibiendo el valor numérico del cliente y que, apoyándose en un Java Bean, le pase el control a una página JSP que visualice el resultado de la raíz cuadrada del valor a partir de las propiedades del Java Bean, tal y como se muestra en la figura.


 

b) Empleando la clase Cookie y los métodos para leer y escribir cookies de los objetos request y response añade la funcionalidad al programa anterior de visualizar el número de veces que el cliente ha efectuado peticiones sobre el servidor durante su sesión. 

 
Con cada nuevo cálculo el servlet controlador actualiza el contador de peticiones

 

Descargar solución (proyecto NetBeans para GlassFish)


Diapositivas. Clases 2, 3 y 4: Servlets y JSP

Ejercicios de clase. Clase 1: fundamentos de JSP

Crea un sencilla aplicación web empleando sólamente páginas JSP que permita a un usuario desde su navegador introducir un valor numérico en un cuadro de texto y recibir como respuesta la raíz cuadrada de dicho número, tal y como se indica en las siguientes imágenes. No es necesario que tengas en cuenta ningún tipo de validación.


Página index.jsp


Página JSPcalculos.jsp



  1. El cliente accede al servidor mediante su navegador y recibe una página con un sencillo formulario web donde puede introducir el valor.
  2. Al pulsar el botón Enviar del formulario el valor se envía al servidor vía HTTP mediante el método POST.
  3. El servidor procesa la petición a través de la página JSPcalculos que toma el parámetro de entrada, lo convierte a formato numérico, calcula la raíz cuadrada y devuelve el resultado al cliente (mezcla poco recomendable de aspectos de vista, control  y proceso que mejoraremos en futuros ejercicios)