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

Slides:



Advertisements
Presentaciones similares
Java Enterprise Edition (Java EE)
Advertisements

Curso de Java “Java para Web” Rogelio Ferreira Escutia.
Internet y tecnologías web
Fernando Alonso Blázquez Sesiones 06 de Mayo de 2004.
Fernando Alonso Blázquez Formularios en lenguaje HTML 26 de Febrero de 2004.
Curso de Java Capitulo 7: Conceptos sobre poo Profesor:
Programación Orientada a Objeto 1
CI-2413 CGI & Compañía.
CI-2413 Desarrollo de Aplicaciones para Internet
JSP Java Server Pages.
Enlaces con variables en la URL en PHP Programación en Internet II.
Modelando aplicaciones
CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho.
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:23 PRESENTACION: BASE DE DATOS ALUMNAS: Velazquez Corona Elsa Ponciano Antonio.
ActiveX.
DOM ( Document Object Model) Prof. Franklin Cedeño.
"java del lado del servidor" Servlet y JSP Java Server Pages.
Desarrollo de Aplicaciones para Internet
OBJETO REQUEST. El objeto Request Por qué el objeto request Funcionamiento Colecciones: – Transferencia de variables por URL –Transferencia de variables.
Servlets Servlets.
JSP Copyright ISIPE – Instituto de Servicios Informáticos para Empresas – Universidad Siglo 21 – Cualquier copia u otro uso debe ser autorizado expresamente.
Daniel A. Seara Director Regional MSDN NDSoft
Java 2 Platform Enterprise Edition
José Antonio Rastoll Pérez Presentación PI. Índice 1. EL OBJETO SESSION Introducción. Propiedades. Funcionamiento. Variables de sesión, desventajas y.
Formularios en lenguaje HTML 7 de Abril de Índice Generalidades Definición en HTML Elementos Formas de envío: métodos GET y POST Recepción y tratamiento.
Sesión en Servlets 31 de Marzo de Índice ¿Por qué seguir la trayectoria de usuarios? Formas de seguir la trayectoria de usuarios –Cookies –Reescritura.
La estructura básica de los programas en java, algo a tener en cuenta y que debemos recordar siempre es el archivo debe llevar el nombre de la clase con.
JSP COOKIES. cookies  Las cookies son datos guardados por los navegadores a instancias del servidor.  Los sitios Web las utilizan con propósitos diversos:
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Tema 6: Clases Antonio J. Sierra.
Al término de la clase, el alumno reconoce las ventajas de usar JAVASCRIPT para un proyecto web.
Tecnologías para el desarrollo de aplicaciones Web
Ingeniero Anyelo Quintero
UNIDAD 2 CLASES Y OBJETOS. CLASE Elementos cabecera y cuerpo de la clase. Cabecera: aporta información fundamental sobre la clase en sí y constituye de.
Servlets, JSP, JavaBEANS,JDBC
Java Server Faces.
HTML HyperText Markup Language (Lenguaje de Marcas de Hipertexto)
Tema 2a - JSP Dr. Diego Lz. de Ipiña Gz. de Artaza
ASP.NET es una nueva y potente tecnología para escribir páginas web dinámica. Es una importante evolución respecto a las antiguas páginas ASP de Microsoft.
PHP TODO SOBRE PHP.
Servlets 18 de Marzo de Índice ¿Qué es un Servlet? ¿Cuándo y por qué usar Servlets? Estructura básica de un HttpServlet Servlet simple que genera.
PROTOCOLO H T T P.
Lenguajes de programación para la web Lenguaje html Lenguaje java script Es un lenguaje estático para el desarrollo de sitios web Ventajas: Sencillo que.
Clientes Web [PHP] Paso de datos::GET.. Paso de datos Toda variable existe mientras nos encontremos en el mismo documento que fue declarada. Cuando me.
introducción al lenguaje
      Protocolo de transferencia de Hipertexto, empleado para acceder a documentos de hipermedia  El protocolo nació en el CERN, como base.
Servlets Servlets son módulos que extienden a servidores “java-enabled” orientados a request/response, como por ejemplo Servidores Web Un servlet puede.
Aplicaciones Web de Servidor
Servlets 10 de Mayo de 2006.
Introducción al Lenguaje. ¿ Qué es PHP ? O Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en.
MIME EXTENSIONES DE CORREO INTERNET MULTIPROPÓSITO. SERIE DE ESPECIFICACIONES DIRIGIDAS AL INTERCAMBIO TRANSPARENTE DE TODO TIPO DE ARCHIVOS A TRAVÉS DE.
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
Sun Microsystems. Los servlets son objetos que corren dentro del contexto de un contenedor de servlets y extienden su funcionalidad. También podrían correr.
Confidential // Neoris 1 Confidential // Do Not Reproduce without prior written permission from Neoris Servlets.
Ihr Logo PHP Parte 2 “php toma muchas sintaxis de lenguajes de alto nivel conocidos para poder trabajar”
Java Server Pages JSP Otra forma de hacer servlets.
SHUTTENBORG ACCESS CONOCE LOS PROGRAMAS. Cortés Gamboa Lizzeth
Secuencia de Comandos en Sitios Cruzados XSS
Colegio de Bachilleres Plantel 13 Xochimilco - Tepepan
HTTP Session Management Desarrollo de Aplicaciones para Internet.
Your Logo ING. FREDY ALEXANDER MARTINEZ. Here comes your footer  Page 2 Este patrón fue descrito por primera vez por Trygve Reenskaug en 1979, y la implementación.
Integrante: Mariana Alcalá Hdz María del Carmen Andrade G. Alondra E. García Mtz Joselyn Gpe García V. Antonio de Jesús Hdz R. Cristian Jesús Ruvalcaba.
INTEGRANTE: FLORES GODOY JUAN E. Grupo:308. Una tabla es una colección de datos sobre un tema específico, como productos o proveedores. Al usar una tabla.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Temario Java 2 Enterprise Edition Arquitectura Especificación Servlets Contenedores Cookies Sesiones.
 Una tecnología que permite combinar código HTML estático con código generado dinámicamente en un mismo fichero.  Ventajas: ◦ Separación de datos estáticos/dinámicos.
Softlogia S.R.L. Formación de Recursos Humanos Java Server Faces Instructor: Martin R. Baspineiro.
Introducción a programación web Martin Esses. Formularios HTML se utilizan para pasar datos a un servidor. Un formulario HTML puede contener elementos.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Transcripción de la presentación:

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

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

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.

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 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.

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.

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.

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: 

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:

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:

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:

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

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.

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.

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.

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.

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.

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.

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

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.

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.

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

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.

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

Confidential // Neoris 24 Thank you Fuentes: JSP Reference JSP Tutorial rial/servlets_jsp rial/servlets_jsp Introduccion