Transcription of Java Server Pages (JSP) - CINVESTAV
1 1 java Server Pages (JSP) Dr. V ctor J. Sosa Server Pages (JSP) Caracter sticas El Servidor java de P ginas ( java Server Pages , JSP) ofrece no s lo la independencia de operar en diferentes plataformas y servidores de p ginas Web, sino que adem s combina el poder de la tecnolog a java en el servidor con la facilidad de visualizar el contenido de las p ginas HTML. JSP es una tecnolog a que generalmente incluye: Componentes est ticos HTML/XML Elementos JSP especiales Fragmentos especiales de c digo escritos en lenguaje java llamados Server Pages (JSP) Caracter sticas La especificaci n JSP extiende la tecnolog a de servletspara reducir la programaci n requerida en el desarrollo de p ginas Web din micas.
2 JSP permite apreciar mejor la distinci n entre el contenido de la informaci n y su presentaci Server Pages (JSP) Ventajas Independencia del servidor Web. Substituci n del API de los servletspor conjuntos de elementos de marcado (tags) y fragmentos de programaci n (scriptlets). Altamente recomendable para conseguir el acceso al servidor Web en arquitecturas de partes m ltiples (multi-tier). Separaci n del contenido est tico del din mico. Separaci n del contenido din mico del formato de la presentaci Server Pages (JSP) Comparaci n entre JSP y ASP ASP (Active Server Pages ) es una tecnolog a similar a JSP pero que difiere tambi n en varios aspectos como se indica en la siguiente vs.
3 ASPA ctive Data ObjectsJava Data Base ConnectivityBases de datosNingunaAbierto a librer as de elementosExtensibilidadCOM , DCOM , COM +, .NETJava Beans, Enterprise java Beans ylibrer as de elementosModelo de componentesJavaScript o Visual Basic Script, c#JavaProgramaci n(scripting)Modelo de seguridad de WindowsNTModelo de seguridad de JavaSeguridadWindowsCualquiera que corra una m quinavirtual JavaPlataformaLos servidores de Microsoft (IIS yPersonal Web Server )La mayor a de los servidores m s Conocidos (Apache, Netscape, MS IIS)ServidorActive Server PagesJava Server PagesPropiedad4 java Server Pages (JSP) Arquitectura de JSP El prop sito de JSP es ofrecer una forma m s declarativa y m s guiada por la presentaci n que aquella conseguida con los servlets.
4 Las p ginas JSP se utilizan en un proceso que involucra dos fases:1. Una fase de traducci n din mica a servletsque se realiza nicamente cuando la p gina JSP se crea o Una fase de contestaci n a peticiones que se consigue cuando las clases de los servletsgenerados se cargan en el contenedor de Server Pages (JSP) Arquitectura de JSP En la segunda fase, para atender concurrentemente al procesamiento de peticiones, el servidor lanza un proceso ligero (thread) por cada uno de los clientes el cual corre el m todo _jspService(). El m todo _jspService() no puede reemplazarse por otros m todos definidos por el programador, pero en cambio puede adecuarse su inicializaci n y terminaci n con los m todos jspInit() y jspDestroy().
5 5 java Server Pages (JSP)Arquitectura de JSP_jspInit()_jspService()_jspDestroy()E vento de iniciaci nPetici nRespuestaEvento de terminaci nContenedor de ServletsServletEjemplo de una P gina JSP: La siguiente p gina JSP presenta un saludo.<%-- Esta p gina da un saludo y despedida --%> <HTML> <BODY> <H1>Bienvenido a JSP!</H1> <% ("Regrese pronto ); %> </BODY> </HTML>NJava Server Pages (JSP)bienvenidohelloworldhellouserrespon seNameHandler6 mbito y Visibilidad de los Objetos JSP Los objetos JSP pueden crearse: impl citamente por directivas JSP expl citamente a trav s de acciones excepcionalmente usando fragmentos de c digo El mbito del objeto establece su duraci n desde su creaci n hasta su destrucci n; su visibilidad indica los lugares de la p gina donde puede usarse el Server Pages (JSP) java Server Pages (JSP) mbito y Visibilidad de Objetos La siguiente tabla muestra los mbitos que pueden asociarse a los objetos reci n a lap gina en quefueron creadosP gina1 (menor)Provienen de la petici n que esAtendidaPetici n2 Pertenecen a la misma sesi nSesi n3 Pertenecen a la misma aplicaci nAplicaci n4 (mayor)Descripci nCategor a mbito7 Objetos Impl citos Debido a que la tecnolog a JSP se basa en aquella de los servlets, existe un conjunto de objetos predefinidos cuyos nombres pueden usarse inmediatamente en Server Pages (JSP) java Server Pages (JSP)
6 Objetos Impl citosP ginaP gina que procesala petici n en cursoObjectpageP ginaConfiguraci n del servlet del JSPS ervletConfigconfigP ginaFlujo de nContexto del servletde configuraci nServletContextapplicationSesi nConserva el estado de la ginaCaracter sticas de la p gina Dependientes de la implementaci n, espacios denombres y otras ginaRespuesta a la Petici nHttpServletResponseresponsePetici nInvocaci n del servicioHttpServletRequestrequest mbitoDescripci nContextoObjeto8 Ejemplo Este ejemplo muestra los cuatro mbitos de los objetos Server Pages (JSP)<%@page import= * %> <HTML> <BODY> servlet <%= () %> <br> <% for (int scope = 1; scope <= 4; scope++) { ("<H2>Ambito "+scope+"</H2>");Enumeration e = (scope);while ( ()) { ( ()+ <br> );}}%> </BODY> </HTML>ambitosJava Server Pages (JSP)Elementos B sicos de JSP La sintaxis de JSP consiste de un conjunto de elementos que se intercalan entre aquellos de HTML o no procesado<%.
7 -- %>ComentariosEjecuci n de instruccionesJava<% .. %>ScriptletsEvaluaci n de expresionesJava<%= .. %>ExpresionesDeclarar variables o m todos java <%! .. %>DeclaracionesImportar clases o incluir archivos HTML<%@ .. %>DirectivaDescripci nSintaxisElemento9 Directivas Las directivas son instrucciones dirigidas al contenedor de servletsJSP, no al flujo de salida. Las directivas determinan los atributos de la p gina y las dependencias con el contenedor. La directiva de p gina tiene la forma:<%@ pageatributos %> donde los atributos pueden ser: languageque indica el lenguaje usado en la p gina JSP, importque establece las clases que se van usar extendsque indica las clases que ser n extendidas includeque inserta un archivo HTML sessionque cuando toma el valor true, permite usar la variable predefinida sessionen la p gina JSP bufferque establece el tama o del rea temporal de la p gina autoflushque indica si el env o al flujo de salida es inmediato isThreadSafeque establece que a lo m s un proceso est activo a la vez (por omisi n, se tienen m ltiples procesos concurrentes) errorPageque permite indicar si la p gina se usa para anunciar un errorJava Server Pages (JSP)Ejemplos de Directivas Las directivas.
8 <%@ page import= *, * %>importa los paquetes <%@ page include= %>inserta los estilos para el documento que est n guardados en el archivo <%@ page buffer= 16k %>establece el tama o del buffer a 16k <%@ page isThreadSafe= true %>establece que hay s lo un proceso activo a la vezJava Server Pages (JSP)10 Declaraciones La sintaxis de una declaraci n es <%! declaraci n %>o, alternativamente, usando los espacios de nombres de XML <jsp:declaration>declaraci n</jsp:declaration> Las declaraciones permiten introducir variables y m todos a nivel de p gina y deben seguir la sintaxis de java . Las variables declaradas pueden inicializarse y deben estar terminadas por punto y coma. Las declaraciones de m todos, adem s de aquellos usados en la aplicaci n, pueden tambi n incluir a jspInit()y jspDestroy().
9 java Server Pages (JSP)Ejemplo de Declaraci n C digo de iniciaci n para un contador en una p gina JSP que declara una variable y los m todos jspInit() yjspDestroy(): java Server Pages (JSP)<%! int counter;%> <%! public void jspInit() {counter = 0;}public void jspDestroy() {}%>11 Expresiones La sintaxis de una expresi n es <%= expresi n %>o, alternativamente, usando los espacios de nombres de XML <jsp:expression> expresi n </jsp:expression> Las expresiones en JSP permiten que el resultado de la evaluaci n de una expresi n java se convierta a una cadena de caracteres que ser incluida en la p gina generada. Las expresiones pueden incluirse en gran variedad de contextos y no deben terminarse por puntos y comas.
10 Ejemplo de Expresiones La siguiente expresi n produce un elemento H1 usado para escribir el texto de un encabezado:<%! int i = 1; %> <H<%=i%>> java Server Pages </H<%=i>> java Server Pages (JSP)Scriptlets La sintaxis de un scriptletes <% scriptlet%>o, alternativamente, usando los espacios de nombres de XML <jsp:scriptlet> scriptlet</jsp:scriptlet> Se puede escribir cualquier fragmento de c digo java , extendido por elementos HTML y no limitado a una l nea. Ejemplo de Scriptlets: El siguiente scriptletproduce una secuencia de encabezados con tama o decreciente:<% for (int i=1; i<5; i++) { %> <H<%=i%>> java Server Pages </H<%=i>> <% } %> java Server Pages (JSP)12 Comentarios Los comentarios JSP usan elementos especiales, distintos de los comentarios de HTML, para que no puedan verse en los documentos enviados al cliente.