La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Confidential // Neoris 1 Confidential // Do Not Reproduce without prior written permission from Neoris JavaServer Pages JSP.

Presentaciones similares


Presentación del tema: "Confidential // Neoris 1 Confidential // Do Not Reproduce without prior written permission from Neoris JavaServer Pages JSP."— Transcripción de la presentación:

1 Confidential // Neoris 1 Confidential // Do Not Reproduce without prior written permission from Neoris JavaServer Pages JSP

2 Confidential // Neoris 2 Agenda  ¿Qué es JSP?  ¿Qué puede hacer JSP?  Plantilla de texto: HTML Estático  Elementos de Script JSP  Expresiones JSP  Eventos JavaScript  Scriptlets JSP  Declaraciones JSP  Directivas JSP  Variables Predefinidas  Acciones  Convenciones de Comentarios y Caracteres de Escape

3 Confidential // Neoris 3 ¿Qué es JSP?  JavaServer Pages (JSP) es una tecnología basada en el lenguaje Java que permite incorporar contenido dinámico a las páginas web.  los archivos JSP combinan HTML con etiquetas especiales y fragmentos de código Java.

4 Confidential // Neoris 4 ¿Qué puede hacer JSP?  permite separar la parte dinámica de nuestras páginas Web del HTML estático.  se escribe el HTML regular de la forma normal, encerrando el código de las partes dinámicas en etiquetas especiales, las cuales empiezan con “ ” Ej: - una página JSP que resulta algo así como " Thanks for ordering Web Programming:” para la URL http://host/Test.jsp?title= Web+Programming:  el fichero debe tener extensión.jsp y debe ser instalado en el mismo sitio que una página Web normal.  internamente, la pagina JSP se convierte en un servlet normal, donde el HTML estático se imprime en el stream de salida estándar asociado con el método service del servlet.

5 Confidential // Neoris 5 …  hay tres tipos de construcciones JSP que podemos embeber en una página:  * Elementos de script:  - permiten especificar código Java que se convertirá en parte del servlet resultante.  * Directivas:  - permiten controlar la estructura general del servlet.   * Acciones:  - permiten especificar componentes que deberían ser usados.  - permiten controlar el comportamiento del motor JSP.

6 Confidential // Neoris 6 Plantilla de Texto: HTML estático  gran porcentaje de las páginas JSP consistirán en HTML estático, conocido como plantilla de texto.  este HTML se parece al HTML normal, sigue la mismas reglas de sintaxis, y simplemente "pasa a través" del cliente por el servlet creado para manejar la página.  puede ser creado con cualquier herramienta para generar páginas Web.  la única excepción a la regla de que "la plantilla de texto se pasa tal y como es“, es que, si queremos tener "<%" en la salida, necesitamos poner "<\%" en la plantilla de texto.

7 Confidential // Neoris 7 Elementos de Script JSP  permiten insertar código Java dentro del servlet que se generará desde la página JSP actual. Hay tres formas: * Expresiones de la forma que son evaluadas e insertadas en la salida. * Scriptlets de la forma que se insertan dentro del método service del servlet. * Declaraciones de la forma que se insertan en el cuerpo de la clase del servlet fuera de cualquier método existente.  una expresión JSP se usa para insertar valores Java directamente en la salida.  tiene la siguiente forma: 

8 Confidential // Neoris 8 Expresiones JSP  la expresión Java es evaluada, convertida a un string, e insertada en la página.  esta evaluación se realiza durante la ejecución (cuando se solicita la página) y así tiene total acceso a la información sobre la solicitud. Ej: esto muestra la fecha y hora en que se solicitó la página:  Current time:  hay un gran número de variables predefinidas. Algunos de estos objetos implícitos son: * request, el HttpServletRequest; * response, el HttpServletResponse; * session, el HttpSession asociado con el request (si existe). * out, el PrintWriter (una versión con buffer del tipo JspWriter) usada para enviar la salida al cliente. * Ej:  Your hostname:

9 Confidential // Neoris 9 Scriptlets JSP  permiten insertar código arbitrario dentro del método servlet que será construido al generar la página  tienen la siguiente forma:  tienen acceso a las mismas variables predefinidas que las expresiones. Ej: si queremos que la salida aparezca en la página resultante, tenemos que usar la variable out:

10 Confidential // Neoris 10 Declaraciones JSP  permiten definir métodos o campos que serán insertados dentro del cuerpo principal de la clase servlet.  tienen la siguiente forma:  no generan ninguna salida, se usan en conjunción con expresiones JSP o scriptlets. Ej: tenemos un fragmento de JSP que imprime el número de veces que se ha solicitado la pagina actual desde que el servidor Se arranco:

11 Confidential // Neoris 11 Directivas JSP  afectan a la estructura general de la clase servlet.  tienen la siguiente forma:  también podemos combinar múltiples selecciones de atributos para una sola directiva.  hay dos tipos principales de directivas: * page:  - permite hacer cosas como importar clases, personalizar la superclase del servlet, etc * include:  - permite insertar un fichero dentro de la clase servlet en el momento que el fichero JSP es traducido  servlet

12 Confidential // Neoris 12 … Directiva page  permite definir uno o más de los siguientes atributos sensibles a las mayúsculas: * import="package.class" o import="package.class1,...,package.classN“  - permite especificar los paquetes que deberían ser importados * contentType="MIME-Type" o contentType="MIME-Type; charset=Character- Set”  - especifica el tipo MIME de la salida.  - el valor por defecto es text/html * isThreadSafe="true|false".  - true (por defecto) indica un procesamiento, donde múltiples peticiones pueden procesarse  simultáneamente con un sólo ejemplar del servlet  - false indica que el servlet debería implementar SingleThreadModel, con peticiones enviadas  serialmente o con peticiones simultáneas siendo entregadas por ejemplares separados del servlet.

13 Confidential // Neoris 13 … * session="true|false".  - true (por defecto), indica que la variable, predefinida session (del tipo HttpSession) debería unirse a  la sesión existente si existe una, si no existe se debería crear una nueva sesión para unirla.  - false, indica que no se usarán sesiones, y los intentos de acceder a la variable session resultarán en  errores en el momento en que la página JSP sea traducida a un servlet. * buffer="sizekb|none"  - especifica el tamaño del buffer para el JspWriter out  - el valor por defecto es específico del servidor, debería ser de al menos 8kb * autoflush="true|false".  - true (por defecto), indica que el buffer debería descargarse cuando esté lleno.  - false, indica que se debe lanzar una excepción cuando el buffer se sobrecargue y es ilegal cuando  usamos buffer="none". * extends="package.class".  - indica la superclase del servlet que se va a generar.  - se debe usar con extrema precaución, ya que el servidor podría utilizar una superclase personalizada.

14 Confidential // Neoris 14 … * info="message".  - define un string que puede usarse para ser recuperado mediante el método getServletInfo * errorPage="url".  - especifica una página JSP que se debería procesar si se lanzará cualquier Throwable que no fuera  capturado en la página actual. * isErrorPage="true|false"  - indica si la página actual actúa o no como página de error de otra página JSP  - el valor por defecto es false. * language="java".  - está pensado para especificar el lenguaje a utilizar.  - “java” es tanto el valor por defecto como la única opción legal.

15 Confidential // Neoris 15 … Directiva include  permite incluir ficheros en el momento en que la página JSP es traducida a un servlet.  la URL especificada:  - se interpreta como relativa a la página JSP a la que se refiere.  - al igual que las URLs relativas, podemos decirle al sistema, que interpreta la URL relativa al  directorio home del servidor Web, empezando la URL con una barra invertida.  los contenidos del fichero incluido son analizados como texto normal JSP, y así pueden incluir HTML estático, elementos de script, directivas y acciones.

16 Confidential // Neoris 16 Variables Predefinidas  para simplificar el código en expresiones y scriplets JSP, existen ocho variables definidas automáticamente, algunas veces llamadas objetos implícitos: * request  - es el HttpServletRequest asociado con la petición.  - permite mirar:  ** los parámetros de la petición (mediante getParameter)  ** el tipo de petición (GET, POST, HEAD, etc.)  ** las cabeceras HTTP entrantes (cookies, Referer, etc.).  - permite que la petición sea una subclase de ServletRequest distinta de HttpServletRequest, si el  protocolo de la petición es distinto del HTTP * response  - es el HttpServletResponse asociado con la respuesta al cliente.  - observación:  como el stream de salida (out) tiene un buffer, es legal seleccionar los códigos de estado y  cabeceras de respuesta.No está permitido en los servlets normales una vez que la salida ha sido  envíada al cliente. * out  - es el PrintWriter usado para enviar la salida al cliente.  - para hacer útil el objeto response, se utiliza JspWriter, es una versión con buffer de PrintWriter.  - se puede ajustar el tamaño del buffer, desactivar el buffer, usando el atributo buffer de la directiva page  - se usa exclusivamente en scriptlets ya que las expresiones JSP obtienen un lugar en el stream de sala,  y por eso raramente se refieren explícitamente a out.

17 Confidential // Neoris 17 … * session  - es el objeto HttpSession asociado con la petición.  - las sesiones se crean automáticamente. La única excepción es usar el atributo session de la  “directiva page” para desactivar las sesiones. * application  - es el ServletContext obtenido mediante getServletConfig().getContext(). * config  - es el objeto ServletConfig para esta página. * pageContext  - JSP presenta una nueva clase llamada PageContext, para encapsular características de uso  específicas del servidor, como JspWriters de alto rendimiento. * page  - es sólo un sinónimo de this, y no es muy útil en Java.  - fue creado como situación para el día en que los lenguajes de script puedan incluir otros lenguajes  distintos de Java.

18 Confidential // Neoris 18 Acciones  usan construcciones de sintaxis XML para controlar el comportamiento del motor de Servlets  Se puede: ** insertar un fichero dinámicamente ** reutilizar componentes JavaBeans ** reenviar al usuario a otra página ** generar HTML para el plug-in Java.  Acción: * jsp:include:  - permite insertar ficheros en el momento en que la página es solicitada.  - ésta difiere de la “Directiva include”, que inserta el fichero en el momento de la conversión de la página  JSP a un Servlet

19 Confidential // Neoris 19 … * jsp:useBean:  - permite cargar y utilizar un JavaBean en la página JSP.  - permite utilizar la reusabilidad de las clases Java sin sacrificar la conveniencia de añadir JSP sobre  servlets solitarios.  “ejemplariza un objeto de la clase especificada por class, y lo une a una variable con el nombre especificado por id ”  - también se puede especificar un atributo scope que hace que ese Bean se asocie con más de una  página.   - las propiedades del bean se pueden modificar mediante:  * jsp:setProperty, o  * usando un scriptlet y llamando a un método (“setXxx()”) explícitamente sobre el objeto  con el nombre de la variable especificada anteriormente mediante el atributo id.  - las propiedades existentes en una expresión o scriptlet JSP pueden ser leídas llamando al método  “getXxx()” o usando la accion jsp:getProperty  - la clase especificada por el bean debe estar en el path normal del servidor, no en la parte reservada  que obtiene la recarga automática cuando se modifican.

20 Confidential // Neoris 20 … * jsp:setProperty  - es utilizada para obtener valores de las propiedades de los beans que se han referenciado  anteriormente  - provee dos contextos:  ** jsp:setProperty fuera de un elemento jsp:useBean  En este caso, el jsp:setProperty se ejecuta sin importar si se ha ejemplarizado un nuevo bean o se ha encontrado  uno ya existente  ** jsp:setProperty dentro del cuerpo de un elemento jsp:useBean   En este caso, jsp:setProperty sólo se ejecuta si se ha ejemplarizado un nuevo objeto.

21 Confidential // Neoris 21 … * jsp:getProperty  - este elemento recupera el valor de una propiedad del bean, lo convierte a un string, e inserta  el valor en la salida.  - contiene dos atributos requeridos:  ** name: el nombre de un bean referenciado anteriormente mediante jsp:useBean  ** property: la propiedad cuyo valor debería ser insertado

22 Confidential // Neoris 22 … * jsp:forward:  - permite reenviar la petición a otra página  - contiene un sólo atributo:  ** page: debería consistir en una URL relativa, podría ser un valor estático, o podría ser calculado  en el momento de la petición. * jsp:plugin:  - permite insertar un elemento OBJECT o EMBED específico del navegador, para especificar que el  navegador debería ejecutar un applet usando el Plug-in Java.

23 Confidential // Neoris 23 Convenciones de Comentarios y Caracteres de Escape Hay construcciones especiales que podemos usar en varios casos para insertar comentarios o caracteres: Un comentario JSP. Ignorado por el traductor JSP-a-scriptlet. Cualquier elemento de script, directivas o acciones embebidas son ignorados. Un comentario HTML. Se pasa al HTML resultante. Cualquier elemento de script, directivas o acciones embebidas se ejecutan normalmente. <\% Usado en plantillas de texto (HTML estático) donde realmente queremos "<%". %\> Usado en elementos de script donde realmente queremos "%>". \' Una sola comilla en un atributo que usa comillas simples. Recordar: podemos usar comillas dobles o simples, y que otros tipos de comillas serán caracteres regulares. \" Una doble comilla en un atributo que usa comillas dobles. Recordar: podemos usar comillas dobles o simples, y que otros tipos de comillas serán caracteres regulares %\> %> en un atributo. <\% <% en un atributo. Sintaxis Propósito

24 Confidential // Neoris 24 Thank you Fuentes: JSP Reference http://java.sun.com/products/jsp/?intcmp=31 84 http://java.sun.com/products/jsp/?intcmp=31 84 JSP Tutorial http://www.programacion.com/java/tuto rial/servlets_jsp http://www.programacion.com/java/tuto rial/servlets_jsp http://www.scribd.com/doc/3212179/JSP- Introduccion


Descargar ppt "Confidential // Neoris 1 Confidential // Do Not Reproduce without prior written permission from Neoris JavaServer Pages JSP."

Presentaciones similares


Anuncios Google