Ejercicios de JSP

8.1. Conversor de euros a pesetas

Crear en la aplicación de la sesión anterior (en la carpeta WebContent) una página JSP llamada conversor.jsp que:

Una vez realizada la parte básica, añadirle tratamiento de errores, de manera que si se produce una excepción en la página conversor.jsp se salte a la página de error, error.jsp (que también debéis crear). Dicha página deberá mostrar un mensaje de error u otro dependiendo del error que se haya producido. Por ejemplo, si no se ha rellenado el formulario deberá decir "Faltan datos". En caso de que la cantidad que representa el parámetro numero sea negativa el mensaje a mostrar será "La cantidad no es correcta".

8.2. Contador de visitas

Crear un fragmento de código JSP en la página contador.jsp (que deberéis crear en WebContent) que sirva como contador de visitas. El objetivo es poder incluir este código en otras páginas JSP, por lo que no es necesario (ni conveniente) que sea una página web completa, sino solo el texto del contador. Este debe aparecer con texto HTML en negrita similar al siguiente

Esta página ha sido visitada X veces

Valorar si sería más conveniente emplear la directiva include o la acción del mismo nombre. El código debe poder incluirse en distintas páginas de forma que cada una tenga un contador propio.

Añadir esta página en otra indexContador.jsp (que también debéis crear), para que muestre las visitas a esa página.

(*) Una vez se tenga funcionando el contador básico, mejorarlo haciendo que el número de visitas se conserve, aunque el servidor se apague o se descargue el JSP de la memoria. Para ello, deberéis guardar en un fichero cada cambio en la variable del contador, y recuperarlo de fichero para actualizar su valor cada vez.

(*) 8.3. Mejorando la aplicación de alumnos

Volvamos a la aplicación de alumnos de la sesión anterior. Vamos a añadir un enlace más en el listado que muestra el servlet ServletAlumnoBD (recordad que, junto a los datos de cada alumno, sacaba ya un enlace para borrar al alumno). Junto al enlace de borrar, pondremos otro para editar sus datos. Dicho enlace llamará a una página editAlumno.jsp (que deberéis hacer), pasándole como parámetro el expediente del alumno. Con este expediente, la página deberá conectar con la BD, sacar los datos de ese alumno y mostrarlos en un formulario como el de form_alumno.html. Después, al enviar este nuevo formulario, se llamará al servlet ServletAlumnoBD con una nueva accion llamada editar. Esta acción hará que el servlet llame al método modificaAlumno de AplicAlumno, para modificar los datos del alumno en la BD.

AYUDAS (opcionales):

Para poder seleccionar los datos de un alumno, podéis añadir un nuevo método a la clase AplicAlumnos llamado selectAlumno donde, dado un expediente, saque un array con los datos de ese alumno (expediente, nombre y sexo):

public String[] selectAlumno(int exp) 
{	
	try
	{
		ResultSet rs = stmt.executeQuery("SELECT * FROM alumnos WHERE exp = " + exp);
		String[] result = new String[3];
		while (rs.next())
		{
			result[0] = "" + rs.getInt("exp");
			result[1] = rs.getString("nombre");
			result[2] = rs.getString("sexo");
		}
		return result;
	} catch (Exception ex) {
		ex.printStackTrace();
		return null;
	}
}
En la página editAlumno.jsp simplemente deberéis conectar a la BD con la clase AplicAlumnos, llamar a este método, y colocar cada dato en el campo del formulario correspondiente