Aspectos intermedios en JSPs
En este capitulo vamos a hablar de otros aspectos más avanzados a la hora de
desarrollar JSP como
- Comentarios
- Gestión de errores
- Formateo de Fechas
- Precompilación de Ficheros
Comentarios
Hay veces que queremos que un código JSP no se ejecute sin borrarlo… para
eso podemos usar comentarios
<%@page contentType=»text/html» errorPage=»jsperror.jsp» %> <html> <head><title>JSP Page</title></head> <body> Este código si se ejecutará <%– Este código no se ejecutara <% int x=10, y=0; out.write(«El resultado es: » + (x/y)); %> –%> |
La salida de nuestro programa, como es de esperar.. será …
Gestión de Errores
Cuando ejecutamos un JSP, podría quedar bastante mál que apareciera un
error técnico a un usuario final ……
Vamos a crear un JSP para mostraros el efecto
<%@page contentType=»text/html»%> <html> <head><title>JSP Page</title></head> <body> <% int x=10, y=0; out.write(«El resultado es: » + (x/y)); %> |
Vamos en este caso a ser un poco más políticos y vamos a crear
una página para mostrar en el caso de que se produzca un error de este estilo.
También debemos pensar en la seguridad porque …. alguien con conocimientos
avanzados podría obtener demasiada información y tratar de atacar nuestro
sistema.
Creamos una página de error, añadiendo un atributo a un JSP
….
<%@page contentType=»text/html» isErrorPage=»true» %> <html> <head><title>JSP Page</title></head> <body> <center> <h1>Error Interno</H1> <h2>Contacte con el administrador para más información</H2> </center> </body> </html> |
Ahora en nuestra página original, especificamos que ésta será nuestra
página de error.
<%@page contentType=»text/html» errorPage=»jsperror.jsp» %> <html> <head><title>JSP Page</title></head> <body> <% int x=10, y=0; out.write(«El resultado es: » + (x/y)); %> |
Y el resultado es:
Formateo de Fechas
Algo tan simple como formatear adecuadamente una fecha… hay
veces que da problemas (sobre todo por no encontrar un ejemplo sencillo).
<%@page contentType=»text/html» import=»java.util.*,java.text.*» %> <html> <head><title>JSP Page</title></head> <body> Formateamos la Fecha: <br> <%
</body> |
Otras salidas
Si queremos generar excel
<%@page contentType=»application/vnd.ms-excel» %> <% for (int i=0 ; i<20; i++) { for(int j=0;j<10;j++) { out.write(«» + i+j + «\t» ); } out.write(«\n»); } %> |
Precompilación de ficheros JSP
Existe la posibilidad, fundamentalmente el contendores de JSP de
ordenar la pre-compilacion de un JSP en su respectivo servlet.
Esto se puede hacer de un modo tan simple como añadir ?jsp_precompile
después de nuestra petición. Con esto se trata de reducir el tiempo necesario
para de la primera petición que realizasen nuestro clientes
Tambien, para mejorar el rendimiento e incluso la
seguridad, podemos utilizar en la linea de comando jspc para
generar el código Java equivalente a nuestro JSP y posteriormente registrar la
clases como un servlet normal.