Documente Academic
Documente Profesional
Documente Cultură
Informatica y de Sistemas MANUAL N2 JSP INTRODUCCION: JavaServer Pages (JSP) es una tecnologa que ayuda a los desarrolladores de software a crear pginas web dinmicas basadas en HTML, XML entre otros tipos de documentos. JSP es similar a PHP pero usa el lenguaje de programacin Java. Para desplegar y correr JavaServer Pages, es requerido un servidor web compatible con contenedores servlet como Apache Tomcat. JSP puede ser visto como una abstraccin de alto nivel de los servlets Java. Las JavaServer Pages son traducidas a servlets en tiempo real; cada servlet es guardado en cach y reusado hasta que la JSP original es modificada. JSP posee un funcionamiento bsico que trabaja de la siguiente forma: Una paguina JSP es enviada al cliente en lugar de una HTML. Si el problemas es darles la comunicacin con servidor Con informacin adicional del cliente. Mediante jsp concluye la pgina html estar la que se enviar cliente y se rompe la comunicacin con este. El visualizarla pgina html cliente.
Comentarios de JSP Los comentarios en jsp se pueden definir de acuerdo los siguientes escenarios: Los comentarios que se construyen como etiquetas html en un archivo jsp que recibe un cliente. En este caso, el comentario se construyen de la siguiente manera: <!-Comentario html pasado al cliente --> Los comentarios que se escribi en java y que se encuentran en los identificadores <%y%>. <%//Comentario en java de una sola lnea %>. <%/*Comentario en java de varias lneas ..*/%>
Expresiones en jsp: Una expresin en java es cualquier enunciado que regresa un valor. Se puede clasificar a las expresiones de acuerdo al tipo del valor que regresen. Si regresan un valor numrico entonces se tiene una expresin aritmtica; si regresan falsos o verdaderos
Pgina 1
Ing. Informatica y de Sistemas tenemos una expresin booleana; si regresa una cadena de caracteres tendremos entonces una expresin string. Mediante expresiones se pueden insertar valores que se obtienen de javay enviarlos al cliente, para sus efectos tiene dos sintaxis: <%=expresin java %> Observe que existe un signo igual (=) antes que la expresin java que se quiere utilizar. Antes de eso se encierra entre un par de signos de porcentaje (%%) y los terminadores de mayor qu y menor que. Otra sintaxis es la siguiente: <jsp: expression>expresin></jsp:expression> En ambos casos es una expresin JSP. EJEMPLO: <%=new java.util.Date()%> <%=new java.util.Date().toLocaleString()%> Variables implcitas: Las pginas JSP incluyen ciertas variables privilegiadas sin necesidad de declararlas ni configurarlas: Ya se vio como una expresin en JSP se delimita entre los caracteres <%=y%>. Esta expresin se evala cuando un cliente solicita la JSP que contiene una expresin delimitada entre esos caracteres. Una variable es una representacin alfanumrica de una posicin de memoria. Como tal, se caracteriza por tres propiedades: posicin de memoria que almacena el valor, tipo de datos almacenados y nombre a que se refiere a esa posicin de memoria. Para declarar variables en JSP se realiza de la siguiente manera: <%!declaracin de variable o mtodo;%> En esta declaracion el signo de admiracin (!) que acompaa al de porcentaje (%) es la que delimita la declaracion de una variable o mtodo. Al declararse de esta forma lo que se hace es globalizarla, es decir, tendr vida de otro cdigo de la paguina JSP y por tanto utilizada en cualquier lugar de ella. Se debe recordar que el servidor mediante
Manual JSP Ing F. Victor Albinagorta Ordoez Pgina 2
Ing. Informatica y de Sistemas JSP convierte cualquier Pagina de este tipo en servlet. El cual es utilizada tantas veces como sea solicitado y las variables deben mantener su valor ante estas llamadas sucesivas. Otra sintaxis que se puede utilizar es la siguiente: <jsp:declaracion>declaracion de variable o mtodo:></jsp:declaracion>
Variable pageContext request response session config application out page exception
Clase javax.servlet.jsp.PageContext javax.servlet.http.HttpServletRequest javax.servlet.http.HttpServletResponse javax.servlet.http.HttpSession javax.servlet.ServletConfig javax.servlet.ServletContext javax.servlet.jsp.JspWriter java.lang.Object java.lang.Exception
DIRECTIVAS Son etiquetas a partir de las cuales se genera informacin que puede ser utilizada por el motor de JSP. No producen una salida visible al usuario sino que configura cmo se ejecutar la pgina JSP. Su sintaxis es:
Manual JSP Ing F. Victor Albinagorta Ordoez Pgina 3
include: Incluye el contenido de un fichero en la pgina mediante el atributo file. <%@ include file="cabecera.html" %>
taglib: Importa bibliotecas de etiquetas (Tag Libraries) <%@ taglib uri="/tags/struts-html" prefix="html" %> page: Especifica atributos relacionados con la pgina a procesar. Los atributos son:
Atributo
import
Sintaxis
<%@ page import="class; class" %>
Utilizacin Importa clases y paquetes Java para ser utilizadas dentro del fichero JSP. Especifica si utiliza los datos contenidos en sesin; por defecto "true". Especifica el tipo MIME del objeto "response"; por defecto "text/html; charset=ISO-8859-1". Buffer utilizado por el objeto writer "out"; puede tomar el valor de "none"; por defecto "8KB".
session
contentType
buffer
errorPage
Especifca la ruta de la pgina de error que ser invocada en caso de producirse una <%@ page errorPage="/path_to_error_page" %> excepcin durante la ejecucin de este fichero JSP. Determina si este fichero JSP es una pgina que maneja excepciones. nicamente a este tipo de pginas pueden acceder a la variable impcita "exception", que contiene la excepcin que provoc la llamada a la pgina de error.
Pgina 4
Ing. Informatica y de Sistemas COMO APERTURAR UN NUEVO PROYECTO EN NETBEANS Primero debe de haber hecho la instalacin correcta del TOMCAT. Haga doble click en el netbeans, file / new project
Pgina 5
Se cargara automticamente unas lneas de cdigo en html, la programacin en JSP va dentro del body, se empieza siempre declarando la sentencia de JSP <% codificacin en JSP%>
Pgina 6
En esta parte se realizara la codificacin empezando con declaracin de sentencia JSP <% codificacin JSP %>
Para crear un nuevo proyecto haga todo desde el inicio, y si desea agregar otro proyecto en este mismo haga lo siguiente: Haga anti clic en el proyecto luego New/ JSP/ Ok. Finalmente asigne un nombre y luego, tendr un nuevo JSP en este mismo proyecto.
Pgina 7
Ing. Informatica y de Sistemas PRACTICAS DE LA TEORIA EJEMPLO USO DE EXPRESIONES EN JSP: Realizar el siguiente uso de expresiones, realizar esto en el body: <BODY> <h1> <h2> <li>la fecha y hora actual es:<%=new java.util.Date()%></li> <li>la fecha y hora local:<%=new java.util.Date().toLocalString()%></li> <li>la potencia de 16 es:<%=Math.pow(16;2)%></li> <li>la raz cuadrada de 16 es:<%=Math.sqrt(16)%></li> </h2> </h1> </BODY> Esta parte del cdigo debe estar en la cabecera de la codificacin antes del HTML pues con esta se hace la llamada a la asignacin de la fecha y hora: <%@page contentType=text/html pageEncoding=UTF-8%>
EJEMPLO USO DE DECLARACION DE VARIABLES JSP: Realizar el siguiente uso de expresiones, realizar esto en el body: <BODY> <H1> DECLARACION EN JSP</H1> <H2> <%! Doble x=4;%> <%! Doble y=2;%> <%!public doubl Potencia(doubl x, doubl y){return Math.pow(x,y);};%> <%!public doubl Raiz(doubl x){return Math.sqrt(x);};%>
Manual JSP Ing F. Victor Albinagorta Ordoez Pgina 8
<li>potencia de <%=x%>elevado a <%=y%> es <%=potencia(x,y)%></li> <li>raz cuadra del numero <%=x%>es: <%=Raiz(x)%></li> </H2> </BODY> Notas: <%! Doubl x=4%> aque se declara una variable x de tipo doubl El cdigo que se cita debajo de esta explicacin muestra el mtodo o procedimiento para obtener la potencia de un numero elevado a otro, observe que inicia con <%! Aqu va la declaracin normal de un mtodo java%> <%!public doubl Potencia(doubl x, doubl y){return Math.pow(x,y);};%> Otra line importante es la que se cita debajo de esta explicacin, con ello se indica que se muestre en pantalla el valor x(potencia de <%=x)%>), y el valor de y elevado a <%=y%>. As mismo, se invoca al procedimiento indicado en el paso anterior para generar el calculo <%=potencia(x,y)%> de la potencia, envindole los dos parmetros que necesita(x,y). <li>Potencia de<%=x%>elevado a <%=y%>es:<%=potencia(x,y)%></li> SCRIPTLET EN JSP: Un scriptlet es un bloque de cdigo que se delimita por caracteres <%y%>, esta conformado por instrucciones java que un contenedor en jsp coloca en jspservece al momento de compilar. No se pueden colocar comentarios dentro de un Scriplet. <%@page contentType=text/html pageEncoding=UTF-8%> <body> <h1>ejercicio de scriptet</h1> <h2> <% String colores[]={orange,red,blue,green,black}; Int j=5; Int vector[]=new int [5]; For(int i=0;i<j;i++){
Manual JSP Ing F. Victor Albinagorta Ordoez Pgina 9
Ing. Informatica y de Sistemas Vector[i]=i; <font color =<%=colores[i]%>size=<%=5%>> <i><%=vector[i]%> <%}%> </h2> </body>
DIRECTIVAS @Page EN JSP Como ya se mencion en el concepto las directivas se utilizan para establecer las propiedades generales de una pgina JS, por una nica vez en toda la pgina es decir, los valores de la directiva se aplican a toda la pgina JSP. Ejemplo de creacin de directivas: 1.- alumno proceda a crear un nuevo proyecto de nombre webdirectivas.
Pgina 10
Ing. Informatica y de Sistemas <%@page contentType="text/html" pageEncoding="UTF-8"%> <%@page import="prueba.ejemplodirectivas"%> <html> <head>
Como se puede dar cuenta estamos incorporando una directiva con el @page import=.
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP DIRECTIVAS</title> </head> <body> <h1>ejemplo del uso de directivas Ing victor</h1> <% ejemplodirectivas ejemplo=new ejemplodirectivas(); out.print(ejemplo.mostrar()); %> </body> </html> si nos damos cuenta existe las instrucciones prueba.ejemplodirectivas, como llamando a un paquete java. As mismo, ejemplodirectivas ejemplo=new ejemplodirectivas() como instancia de una clase ejemplodirectivas, que deberai estar implementado en un paquete prueba.ejemplodirectivas. como se podr dar cuenta sr. Alumno hay partes que estn subrayadas pues no emos declarado el prueba.ejemplodirectivas. Para crear una clase haremos lo siguiente: 1.- haga clic derecho con el mouse sobre el proyecto en este caso sobre webdirectivas, aparecer un men contextual ubicamos nuevo y lo pulsamos y luego paquete java. nombre del paquete como prueba.
Pgina 11
Como se puede dar cuenta al lado izquierdo ya apareci en paquete prueba, ahora aremos otra vez anti con el mouse new/JavaClass, y asignaremos un nombre.
Pgina 12
Como se estar dando cuenta ya aparece la pre determinante del paquete en este caso prueba lo que haremos ser poner un punto y asignarle en nombre con que se llama a esta clase en este casoejemplodirectivas.
Una vezescrito el nombre de la clase clic en finish, y ya prodremso vizualizar al lado izquierdo el pie de nuestro paquete la claseejemplodirectivas, aremos doble clic en el y podremso visualizar lo siguiente.
El cdigo que se le dar ser el siguiente: public class ejemplodirectivas { public String mostrar(){ return"Ing victor como esta el dia hoy?"; } }
Manual JSP Ing F. Victor Albinagorta Ordoez Pgina 13
EJERCICIO #02 DE USO DE DIRECTIVAS. 1.- proceda a crear un nuevo proyecto usando los pasos anteriores. 2.- copie el siguiente cdigo. <%@page contentType="application/vnd.ms-excel"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body>
Ing. Informatica y de Sistemas <%for (int i=5;i<=10;i++){%> <tr></tr> <%for(int j=1;j<=10; j++) {%> <tr> <td><%=i%></td> <td><%=j%></td> <td><%=i*j%></td> <%}%> </tr> <%}%> </table> </body> </html> Como se podr dar cuenta se utiliza la directiva %@page contentType="application/vnd.ms-excel"% la cual genera un archivo en Excel segn la tabla que uds, estn creando en el formato html, par esto Ud. deber ejecutar un archivo en Excel.(no deber crear ninguna clase).
Pgina 15
Ing. Informatica y de Sistemas MANUAL DE JSP #03 En esta parte se proceder a hacer un anlisis los mtodos: GET: el mtodo GET es un procedimiento privado que solo se ejecuta con la llamada de un procedimiento interno en cual devuelve el valor en tiempo real. POST: el mtodo POST es un procedimiento publico el cual ejecuta una llamada a la mquina virtual del java el cual el cual almacena la informacin para que pueda ser utilizada segn la necesidad o cuando se vuelva a necesitar.
Pgina 16