SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

Modelos de desarrollo de aplicaciones web
Modelos de desarrollo de aplicaciones webModelos de desarrollo de aplicaciones web
Modelos de desarrollo de aplicaciones webYaskelly Yedra
 
Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)josecuartas
 
phpMyAdmin con Xampp
phpMyAdmin con XamppphpMyAdmin con Xampp
phpMyAdmin con XamppLeccionesWeb
 
El dba(administracion de base de datos)
El dba(administracion de base de datos)El dba(administracion de base de datos)
El dba(administracion de base de datos)UTN
 
Multitarea e hilos en java
Multitarea e hilos en javaMultitarea e hilos en java
Multitarea e hilos en javaTensor
 
BD. control de concurrencia
BD. control de concurrenciaBD. control de concurrencia
BD. control de concurrencialiras loca
 
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...Oswaldo Hernández
 
Arquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EEArquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EECarlos Gavidia-Calderon
 

Tendances (20)

Modelos de desarrollo de aplicaciones web
Modelos de desarrollo de aplicaciones webModelos de desarrollo de aplicaciones web
Modelos de desarrollo de aplicaciones web
 
J2ee
J2eeJ2ee
J2ee
 
Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)
 
phpMyAdmin con Xampp
phpMyAdmin con XamppphpMyAdmin con Xampp
phpMyAdmin con Xampp
 
Seguridad sql server
Seguridad sql serverSeguridad sql server
Seguridad sql server
 
PROCEDIMIENTOS ALMACENADOS
PROCEDIMIENTOS ALMACENADOSPROCEDIMIENTOS ALMACENADOS
PROCEDIMIENTOS ALMACENADOS
 
El dba(administracion de base de datos)
El dba(administracion de base de datos)El dba(administracion de base de datos)
El dba(administracion de base de datos)
 
Metodologia orientada a objeto
Metodologia orientada a objetoMetodologia orientada a objeto
Metodologia orientada a objeto
 
Multitarea e hilos en java
Multitarea e hilos en javaMultitarea e hilos en java
Multitarea e hilos en java
 
Get & post
Get & postGet & post
Get & post
 
BD. control de concurrencia
BD. control de concurrenciaBD. control de concurrencia
BD. control de concurrencia
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Front end y Back-end
Front end y Back-end Front end y Back-end
Front end y Back-end
 
Uso de hilos
Uso de hilosUso de hilos
Uso de hilos
 
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...
 
MetodologíAs Y Ciclos De Vida
MetodologíAs Y Ciclos De VidaMetodologíAs Y Ciclos De Vida
MetodologíAs Y Ciclos De Vida
 
Arquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EEArquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EE
 
Análisis estructurado
Análisis estructuradoAnálisis estructurado
Análisis estructurado
 
Modelos concurrentes
Modelos concurrentesModelos concurrentes
Modelos concurrentes
 
Metodologías de Desarrollo de Software
Metodologías de Desarrollo de SoftwareMetodologías de Desarrollo de Software
Metodologías de Desarrollo de Software
 

En vedette

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
 

En vedette (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
 

Similaire à JSP: Introducción a Java Server Pages

Similaire à 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
 

Dernier

GRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptxGRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptxNicolas Villarroel
 
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULDGRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULDLeslie Villar
 
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxrodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxssuser61dda7
 
Tema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptxTema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptxchinojosa17
 
Practica guiada Menu_ tecnología (Tic's)
Practica guiada Menu_ tecnología (Tic's)Practica guiada Menu_ tecnología (Tic's)
Practica guiada Menu_ tecnología (Tic's)BrianaFrancisco
 
Software y servicios de internet mapa conceptual.pdf
Software y servicios de internet mapa conceptual.pdfSoftware y servicios de internet mapa conceptual.pdf
Software y servicios de internet mapa conceptual.pdfDanielaEspitiaHerrer
 
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat Vers...
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat  Vers...11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat  Vers...
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat Vers...#LatamDigital
 
que es Planimetría definición importancia en topografia.pptx
que es Planimetría definición importancia en topografia.pptxque es Planimetría definición importancia en topografia.pptx
que es Planimetría definición importancia en topografia.pptxmrzreyes12
 
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.Aldo Fernandez
 
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfFLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfYuriFuentesMartinez2
 
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIAFisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIAcoloncopias5
 
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdfFernandaHernandez312615
 
El uso de las tic en la vida continúa , ambiente positivo y negativo.
El uso de las tic  en la vida continúa , ambiente positivo y negativo.El uso de las tic  en la vida continúa , ambiente positivo y negativo.
El uso de las tic en la vida continúa , ambiente positivo y negativo.ayalayenifer617
 
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptxCamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptx241518192
 

Dernier (14)

GRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptxGRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptx
 
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULDGRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
 
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxrodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
 
Tema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptxTema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptx
 
Practica guiada Menu_ tecnología (Tic's)
Practica guiada Menu_ tecnología (Tic's)Practica guiada Menu_ tecnología (Tic's)
Practica guiada Menu_ tecnología (Tic's)
 
Software y servicios de internet mapa conceptual.pdf
Software y servicios de internet mapa conceptual.pdfSoftware y servicios de internet mapa conceptual.pdf
Software y servicios de internet mapa conceptual.pdf
 
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat Vers...
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat  Vers...11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat  Vers...
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat Vers...
 
que es Planimetría definición importancia en topografia.pptx
que es Planimetría definición importancia en topografia.pptxque es Planimetría definición importancia en topografia.pptx
que es Planimetría definición importancia en topografia.pptx
 
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.
 
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfFLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
 
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIAFisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIA
 
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
 
El uso de las tic en la vida continúa , ambiente positivo y negativo.
El uso de las tic  en la vida continúa , ambiente positivo y negativo.El uso de las tic  en la vida continúa , ambiente positivo y negativo.
El uso de las tic en la vida continúa , ambiente positivo y negativo.
 
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptxCamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
 

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