SlideShare a Scribd company logo
1 of 12
JSP(JavaServer Pages)
Presentado por: Diego Alejandro Beltran Rodriguez
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.
¿Que es?
 El rendimiento de una página JSP es el mismo que tendría el servlet
equivalente, 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.
¿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.
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
Ejemplo de documento JSP
 <%@ page errorPage="myerror.jsp" %> <%@ page
import="com.foo.bar" %> <html> <head> <%! int
serverInstanceVariable = 1;%> ... <% int
localStackBasedVariable = 1; %>
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 <%! int
serverInstanceVariable = 1;%> int serverInstanceVariable = 1;
 ...
Ejemplo de una compilación o salida"
JSP:
 public void _jspService(
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response ) throws
javax.servlet.ServletException, java.io.IOException
 {
 javax.servlet.ServletConfig config = ...;//obtener la
configuración del servlet Object page = this; PageContext
pageContext = ...;//obtener el contexto de la pagina para esta
petición javax.servlet.jsp.JspWriter out =
pageContext.getOut(); HttpSession session =
request.getSession( true );
 …
Variables- Clases
Variable Clase
pageContext javax.servlet.jsp.PageContext
request
javax.servlet.http.HttpServletReq
uest
response
javax.servlet.http.HttpServletRes
ponse
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
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.
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
JSP: Introducción a Java Server Pages

More Related Content

What's hot

GESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas OperativosGESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas Operativosadriel91
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicoslandeta_p
 
Casos de Uso ejercicios
Casos de Uso ejerciciosCasos de Uso ejercicios
Casos de Uso ejerciciosWalter Chacon
 
Middleware en los sistemas distribuidos
Middleware en los sistemas distribuidosMiddleware en los sistemas distribuidos
Middleware en los sistemas distribuidosJC Alca Arequi
 
Diagrama de interaccion(secuencia y colaboracion)
Diagrama de interaccion(secuencia y colaboracion)Diagrama de interaccion(secuencia y colaboracion)
Diagrama de interaccion(secuencia y colaboracion)marianela0393
 
Mapa mental uml
Mapa mental umlMapa mental uml
Mapa mental umlrigo berto
 
Aplicaciones distribuidas
Aplicaciones distribuidasAplicaciones distribuidas
Aplicaciones distribuidasTensor
 
Diagramas de estados
Diagramas de estadosDiagramas de estados
Diagramas de estadosstill01
 
Analisis y especificacion de requerimientos
Analisis y especificacion de requerimientosAnalisis y especificacion de requerimientos
Analisis y especificacion de requerimientosUPTP
 
Modelado de caso de uso y Diagrama de Caso de Uso
Modelado de caso de uso  y Diagrama de Caso de UsoModelado de caso de uso  y Diagrama de Caso de Uso
Modelado de caso de uso y Diagrama de Caso de Usoturlahackers
 
Ingeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetosIngeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetosWilfredo Mogollón
 
Arquitectura y caracteristicas de los sistemas operativos windows
Arquitectura y caracteristicas de los sistemas operativos windowsArquitectura y caracteristicas de los sistemas operativos windows
Arquitectura y caracteristicas de los sistemas operativos windowsslipkdany21
 
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosJosé Antonio Sandoval Acosta
 
Arranque y parada de la base de datos. Ficheros de traza
Arranque y parada de la base de datos. Ficheros de trazaArranque y parada de la base de datos. Ficheros de traza
Arranque y parada de la base de datos. Ficheros de trazacestiogalo
 

What's hot (20)

GESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas OperativosGESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas Operativos
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
 
PRESENTACIÓN RUP
PRESENTACIÓN RUPPRESENTACIÓN RUP
PRESENTACIÓN RUP
 
Casos de Uso ejercicios
Casos de Uso ejerciciosCasos de Uso ejercicios
Casos de Uso ejercicios
 
Middleware en los sistemas distribuidos
Middleware en los sistemas distribuidosMiddleware en los sistemas distribuidos
Middleware en los sistemas distribuidos
 
Diagrama de Componentes
Diagrama de ComponentesDiagrama de Componentes
Diagrama de Componentes
 
Diagrama de interaccion(secuencia y colaboracion)
Diagrama de interaccion(secuencia y colaboracion)Diagrama de interaccion(secuencia y colaboracion)
Diagrama de interaccion(secuencia y colaboracion)
 
Arquitectura de aplicaciones
Arquitectura de aplicacionesArquitectura de aplicaciones
Arquitectura de aplicaciones
 
Mapa mental uml
Mapa mental umlMapa mental uml
Mapa mental uml
 
Aplicaciones distribuidas
Aplicaciones distribuidasAplicaciones distribuidas
Aplicaciones distribuidas
 
Diagramas de estados
Diagramas de estadosDiagramas de estados
Diagramas de estados
 
Interfaces gráficas de usuario
Interfaces gráficas de usuarioInterfaces gráficas de usuario
Interfaces gráficas de usuario
 
Analisis y especificacion de requerimientos
Analisis y especificacion de requerimientosAnalisis y especificacion de requerimientos
Analisis y especificacion de requerimientos
 
Modelado de caso de uso y Diagrama de Caso de Uso
Modelado de caso de uso  y Diagrama de Caso de UsoModelado de caso de uso  y Diagrama de Caso de Uso
Modelado de caso de uso y Diagrama de Caso de Uso
 
Ingeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetosIngeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetos
 
Arquitectura y caracteristicas de los sistemas operativos windows
Arquitectura y caracteristicas de los sistemas operativos windowsArquitectura y caracteristicas de los sistemas operativos windows
Arquitectura y caracteristicas de los sistemas operativos windows
 
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
 
Metodología Rup
Metodología RupMetodología Rup
Metodología Rup
 
Estándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de NegociosEstándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de Negocios
 
Arranque y parada de la base de datos. Ficheros de traza
Arranque y parada de la base de datos. Ficheros de trazaArranque y parada de la base de datos. Ficheros de traza
Arranque y parada de la base de datos. Ficheros de traza
 

Viewers also liked

Servlets exposicion
Servlets exposicionServlets exposicion
Servlets exposicionFlashnet S.A
 
Qué es jsp
Qué es jspQué es jsp
Qué es jspElim Aqp
 
Java Server Pages (JSP)
Java Server Pages (JSP)Java Server Pages (JSP)
Java Server Pages (JSP)Kelly_Ruiz09
 
Elementos de JSP
Elementos de JSPElementos de JSP
Elementos de JSPlauijure
 
Inteligencia artificial, sistemas expertos, robótica y redes neuronales.
Inteligencia artificial, sistemas expertos, robótica y redes neuronales.Inteligencia artificial, sistemas expertos, robótica y redes neuronales.
Inteligencia artificial, sistemas expertos, robótica y redes neuronales.Rodrigo Ramírez
 
1 curso javaserverfaces-presentacion_clase_1
1 curso javaserverfaces-presentacion_clase_11 curso javaserverfaces-presentacion_clase_1
1 curso javaserverfaces-presentacion_clase_1josezapana
 
Apache Tomcat + Java EE = Apache TomEE
Apache Tomcat + Java EE = Apache TomEEApache Tomcat + Java EE = Apache TomEE
Apache Tomcat + Java EE = Apache TomEEJacek Laskowski
 
Java lenguaje de desarrollo
Java lenguaje de desarrolloJava lenguaje de desarrollo
Java lenguaje de desarrolloDavid
 
Introducción a java EE 7
Introducción a java EE 7Introducción a java EE 7
Introducción a java EE 7Carlos Camacho
 
Desarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EEDesarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EEFernando Montaño
 

Viewers also liked (20)

Innovaciones tecnológicas
Innovaciones tecnológicasInnovaciones tecnológicas
Innovaciones tecnológicas
 
Servlets exposicion
Servlets exposicionServlets exposicion
Servlets exposicion
 
Lenguaje de Programación Ruby
Lenguaje de Programación RubyLenguaje de Programación Ruby
Lenguaje de Programación Ruby
 
Java server pages (jsp)
Java server pages (jsp)Java server pages (jsp)
Java server pages (jsp)
 
JSP
JSPJSP
JSP
 
Qué es jsp
Qué es jspQué es jsp
Qué es jsp
 
Java Server Pages (JSP)
Java Server Pages (JSP)Java Server Pages (JSP)
Java Server Pages (JSP)
 
Elementos de JSP
Elementos de JSPElementos de JSP
Elementos de JSP
 
JAVA 2 EE
JAVA 2 EEJAVA 2 EE
JAVA 2 EE
 
Inteligencia artificial, sistemas expertos, robótica y redes neuronales.
Inteligencia artificial, sistemas expertos, robótica y redes neuronales.Inteligencia artificial, sistemas expertos, robótica y redes neuronales.
Inteligencia artificial, sistemas expertos, robótica y redes neuronales.
 
1 curso javaserverfaces-presentacion_clase_1
1 curso javaserverfaces-presentacion_clase_11 curso javaserverfaces-presentacion_clase_1
1 curso javaserverfaces-presentacion_clase_1
 
Sesion05
Sesion05Sesion05
Sesion05
 
Modulo 1 java ee platform
Modulo 1   java ee platformModulo 1   java ee platform
Modulo 1 java ee platform
 
Curso Java Avanzado 5 Ejb
Curso Java Avanzado   5 EjbCurso Java Avanzado   5 Ejb
Curso Java Avanzado 5 Ejb
 
Apache Tomcat + Java EE = Apache TomEE
Apache Tomcat + Java EE = Apache TomEEApache Tomcat + Java EE = Apache TomEE
Apache Tomcat + Java EE = Apache TomEE
 
XML
XMLXML
XML
 
Java lenguaje de desarrollo
Java lenguaje de desarrolloJava lenguaje de desarrollo
Java lenguaje de desarrollo
 
Introducción a java EE 7
Introducción a java EE 7Introducción a java EE 7
Introducción a java EE 7
 
Desarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EEDesarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EE
 
Base datos
Base datosBase datos
Base datos
 

Similar to JSP: Introducción a Java Server Pages

Similar to JSP: Introducción a Java Server Pages (20)

Jsp
JspJsp
Jsp
 
[ES] Introdución al desarrollo de aplicaciones web en java
[ES] Introdución al desarrollo de aplicaciones  web en java[ES] Introdución al desarrollo de aplicaciones  web en java
[ES] Introdución al desarrollo de aplicaciones web en java
 
Introducción al desarrollo de aplicaciones web en Java
Introducción al desarrollo de aplicaciones web en JavaIntroducción al desarrollo de aplicaciones web en Java
Introducción al desarrollo de aplicaciones web en Java
 
Herramientas de Desarrollo de Sistemas
Herramientas de Desarrollo de SistemasHerramientas de Desarrollo de Sistemas
Herramientas de Desarrollo de Sistemas
 
JSP
JSPJSP
JSP
 
Sesion06 apuntes
Sesion06 apuntesSesion06 apuntes
Sesion06 apuntes
 
JSP
JSP JSP
JSP
 
Introduccion java ser
Introduccion java serIntroduccion java ser
Introduccion java ser
 
Manual programacion - java - jsp & xml
Manual   programacion - java - jsp & xmlManual   programacion - java - jsp & xml
Manual programacion - java - jsp & xml
 
Programación en Internet
Programación en InternetProgramación en Internet
Programación en Internet
 
JSP
JSPJSP
JSP
 
Curso Java Avanzado 3 Js Ps
Curso Java Avanzado   3 Js PsCurso Java Avanzado   3 Js Ps
Curso Java Avanzado 3 Js Ps
 
Practica jsp
Practica jspPractica jsp
Practica jsp
 
Jsp
JspJsp
Jsp
 
Servlet
ServletServlet
Servlet
 
Jsp
JspJsp
Jsp
 
Resumen jee
Resumen jeeResumen jee
Resumen jee
 
Jsp Paginacion
Jsp PaginacionJsp Paginacion
Jsp Paginacion
 
Curso Jsp Mas
Curso Jsp MasCurso Jsp Mas
Curso Jsp Mas
 
4. Curso Java JSP (Java Server Pages) - Curso 2005-2006
4. Curso Java JSP (Java Server Pages) - Curso 2005-20064. Curso Java JSP (Java Server Pages) - Curso 2005-2006
4. Curso Java JSP (Java Server Pages) - Curso 2005-2006
 

Recently uploaded

02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señorkkte210207
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdflauradbernals
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdfedwinmelgarschlink2
 
memoria de la empresa Pil Andina para d
memoria de la empresa Pil Andina para  dmemoria de la empresa Pil Andina para  d
memoria de la empresa Pil Andina para dRodrigoAveranga2
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfisrael garcia
 
Las redes sociales en el mercado digital
Las redes sociales en el mercado digitalLas redes sociales en el mercado digital
Las redes sociales en el mercado digitalNayaniJulietaRamosRa
 

Recently uploaded (6)

02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdf
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf
 
memoria de la empresa Pil Andina para d
memoria de la empresa Pil Andina para  dmemoria de la empresa Pil Andina para  d
memoria de la empresa Pil Andina para d
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
 
Las redes sociales en el mercado digital
Las redes sociales en el mercado digitalLas redes sociales en el mercado digital
Las redes sociales en el mercado digital
 

JSP: Introducción a Java Server Pages

  • 1. JSP(JavaServer Pages) Presentado por: Diego Alejandro Beltran Rodriguez
  • 2. 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.
  • 3. ¿Que es?  El rendimiento de una página JSP es el mismo que tendría el servlet equivalente, 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.
  • 4. ¿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.
  • 5. 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
  • 6. Ejemplo de documento JSP  <%@ page errorPage="myerror.jsp" %> <%@ page import="com.foo.bar" %> <html> <head> <%! int serverInstanceVariable = 1;%> ... <% int localStackBasedVariable = 1; %>
  • 7. 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 <%! int serverInstanceVariable = 1;%> int serverInstanceVariable = 1;  ...
  • 8. Ejemplo de una compilación o salida" JSP:  public void _jspService( javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response ) throws javax.servlet.ServletException, java.io.IOException  {  javax.servlet.ServletConfig config = ...;//obtener la configuración del servlet Object page = this; PageContext pageContext = ...;//obtener el contexto de la pagina para esta petición javax.servlet.jsp.JspWriter out = pageContext.getOut(); HttpSession session = request.getSession( true );  …
  • 9. Variables- Clases Variable Clase pageContext javax.servlet.jsp.PageContext request javax.servlet.http.HttpServletReq uest response javax.servlet.http.HttpServletRes ponse 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
  • 10. 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.
  • 11. 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