Jsp(java server pages)

12
JSP(JavaServer Pages) Presentado por: Diego Alejandro Beltran Rodriguez

description

JSP es un acrónimo de Java Server Pages, que en castellano vendría a decir algo como Páginas de Servidor Java. Es, pues, una tecnología orientada a crear páginas web con programación en Java.

Transcript of Jsp(java server pages)

Page 1: Jsp(java server pages)

JSP(JavaServer Pages)Presentado por: Diego Alejandro Beltran Rodriguez

Page 2: Jsp(java server pages)

Java Server Pages

Es una tecnología que ayuda a los desarrolladores de software a crear páginas web dinámicas basadas en HTML, XML, entre otros tipos de documentos. JSP es similar a PHP, pero usa el lenguaje de programación Java.

Para desplegar y correr JavaServer Pages, se requiere un servidor web compatible con contenedores servlet como Apache Tomcat o Jetty.

Page 3: Jsp(java server pages)

¿Que es?

El rendimiento de una página JSP es el mismo que tendría el servletequivalente, ya que el código es compilado como cualquier otra clase Java. A su vez, la máquina virtual compilará dinámicamente a código de máquina las partes de la aplicación que lo requieran. Esto hace que JSP tenga un buen desempeño y sea más eficiente que otras tecnologías web que ejecutan el código de una manera puramente interpretada.

La principal ventaja de JSP frente a otros lenguajes es que el lenguaje Java es un lenguaje de propósito general que excede el mundo web y que es apto para crear clases que manejen lógica de negocio y acceso a datos de una manera prolija. Esto permite separar en niveles las aplicaciones web, dejando la parte encargada de generar el documento HTML en el archivo JSP.

Otra ventaja es que JSP hereda la portabilidad de Java, y es posible ejecutar las aplicaciones en múltiples plataformas sin cambios. Es común incluso que los desarrolladores trabajen en una plataforma y que la aplicación termine siendo ejecutada en otra.

Page 4: Jsp(java server pages)

¿Qué es?

Los servlets y Java Server Pages (JSPs) son dos métodos de creación de páginas web dinámicas en servidor usando el lenguaje Java. En ese sentido son similares a otros métodos o lenguajes tales como el PHP, ASP o los CGIs, programas que generan páginas web en el servidor. Sin embargo, se diferencian de ellos en otras cosas.

Para empezar, los JSPs y servlets se ejecutan en una máquina virtual Java, lo cual permite que, en principio, se puedan usar en cualquier tipo de ordenador, siempre que exista una máquina virtual Java para él. Cada servlet (o JSP, a partir de ahora lo usaremos de forma indistinta) se ejecuta en su propio hilo, es decir, en su propio contexto; pero no se comienza a ejecutar cada vez que recibe una petición, sino que persiste de una petición a la siguiente, de forma que no se pierde tiempo en invocarlo (cargar programa + intérprete). Su persistencia le permite también hacer una serie de cosas de forma más eficiente: conexión a bases de datos y manejo de sesiones, por ejemplo.

Las JSPs son en realidad una forma alternativa de crear servlets ya que el código JSP se traduce a código de servlet Java la primera vez que se le invoca y en adelante es el código del nuevo servlet el que se ejecuta produciendo como salida el código HTML que compone la página web de respuesta.

Page 5: Jsp(java server pages)

Características

Conjunta el poder de Java en el servidor y la flexibilidad de HTML en el browser.

No sólo se puede utilizar HTML, sino también XML o WML.

Hace más fácil reusar componentes con JavaBeans los cuales realizan tareas más especificas.

Su función es saber como procesar una solicitud para crear una respuesta.

Soporta contenido dinámico que refleja las condiciones del mundo real.

Es más rápido y fácil crear aplicaciones de web

Capaz de instanciar cualquier clase de Java

Page 6: Jsp(java server pages)

Ejemplo de documento JSP

<%@ page errorPage="myerror.jsp" %> <%@ page import="com.foo.bar" %> <html> <head> <%! intserverInstanceVariable = 1;%> ... <% intlocalStackBasedVariable = 1; %>

Page 7: Jsp(java server pages)

Ejemplo de una compilación o salida" JSP:

package jsp_servlet;

import java.util.*;

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

import javax.servlet.jsp.*;

import javax.servlet.jsp.tagext.*;

import com.foo.bar; //importado como resultado de <%@ page import="com.foo.bar" %>

import ...

class _myservlet implements javax.servlet.Servlet, javax.servlet.jsp.HttpJspPage { //insertado como //resultado de <%! intserverInstanceVariable = 1;%> int serverInstanceVariable = 1;

...

Page 8: Jsp(java server pages)

Ejemplo de una compilación o salida" JSP: public void _jspService(

javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response ) throwsjavax.servlet.ServletException, java.io.IOException

{

javax.servlet.ServletConfig config = ...;//obtener la configuración del servlet Object page = this; PageContextpageContext = ...;//obtener el contexto de la pagina para esta petición javax.servlet.jsp.JspWriter out = pageContext.getOut(); HttpSession session = request.getSession( true );

Page 9: Jsp(java server pages)

Variables- Clases

Variable Clase

pageContext javax.servlet.jsp.PageContext

requestjavax.servlet.http.HttpServletRequest

responsejavax.servlet.http.HttpServletResponse

session javax.servlet.http.HttpSession

config javax.servlet.ServletConfig

application javax.servlet.ServletContext

out javax.servlet.jsp.JspWriter

page java.lang.Object

exception java.lang.Exception

Page 10: Jsp(java server pages)

VENTAJAS

Contra los Servlets, JSP no nos da nada que no pudiéramos hacer con un servlet, pero no es mucho más conveniente escribir y modificar HTML normal que tener un gran número de sentencias "print" que generen HTML. Además, es posible agregar código Java una página que fue anteriormente diseñada con puro HTML.

Page 11: Jsp(java server pages)

Desventajas

No posee una interfaz "rica", ya que la interfaz web es limitada.

La codificación de interfaces elaboradas lleva muchas lineas de código, y la mayoria debe hacerse usando scripts (javascript)

La carga de la interfaz es mas lenta que la de una aplicación de escritorio

La mayor parte de la lógica de la aplicación se ejecuta en el servidor, por lo que se corre el riesgo de sobrecargar de trabajo al mismo

La aplicación no está disponible si ocurre algun problema con el servidor o con la conexión de red

Page 12: Jsp(java server pages)