SlideShare ist ein Scribd-Unternehmen logo
1 von 34
PROGRAMACIÓN AVANZADA I
DESARROLLO WEB
Mario Linares Vásquez
Especialización Ingeniería de Software - Unillanos
Agenda
Introducción.
Guía rápida html.Guía rápida html.
Desarrollo web con Java.
Servlet.
JSP.
Servidores Web
Un servidor web proporciona acceso a recursos solicitados
por un cliente en un esquema de solicitud y respuesta,por un cliente en un esquema de solicitud y respuesta,
basado en el protocolo HTTP.
Request
http://www.mipagina.com
Response
Servidores Web
El contenido proporcionado por el servidor web son
documentos estáticos y archivos en formato HTML, que sondocumentos estáticos y archivos en formato HTML, que son
interpretador por el browser en el lado del cliente que hace la
solicitud.
La generación de contenido dinámico se puede obtener
mediante la interpretación de lenguajes de script en el cliente
(Javascript) o mediante la vinculación de código que se(Javascript) o mediante la vinculación de código que se
ejecuta del lado del servidor. En el caso de los servidores web,
soportan la ejecución de CGI con la ayuda de módulos
adicionales.
Contenedores Web
El concepto de contenedor web se maneja como parte de la
especificación JEE. Un contenedor web se puede entenderespecificación JEE. Un contenedor web se puede entender
como un servidor Web con la capacidad de ejecutar código
Java en el lado del servidor, especificamente JSPs y Servlets.
El contenedor WEB mas conocido y mas usado es Apache
Tomcat.Tomcat.
Servidores de aplicaciones
Extienden el concepto de servidor/contenedor web para incluir
servicios como:servicios como:
Clustering.
Tolerancia a fallas.
Balanceo de cargas.
Ejecución de objetos de negocio(EJB).Ejecución de objetos de negocio(EJB).
Seguridad.
Transacciones.
Soporte para publicación y orquestación de servicios.
Servidores de aplicaciones
WebSphere Application Server (IBM)WebSphere Application Server (IBM)
Sybase Enterprise Application Server (Sybase Inc)
WebLogic Server (Oracle)
JBoss (Red Hat)
Apache Geronimo (Apache Software Foundation)
Oracle Application Server (Oracle)
Oracle OC4J (Oracle)Oracle OC4J (Oracle)
Sun GlassFish Enterprise Server (Sun Microsystems)
SAP Netweaver AS (ABAP/Java) (SAP)
Glassfish Application Server (open source)
Servidores de aplicaciones
GET vs POST
HTTP soporta varios métodos para envió de solicitudes al
servidor. Los métodos mas usados son GET y POST.servidor. Los métodos mas usados son GET y POST.
En el caso de GET los parámetros son enviados en la URL en el
formato parámetro=valor.
En el caso de POST los parámetros son enviados dentro del
mensate HTTP.
GET vs POST
GET vs POST
Guía Rápida HTML
Lenguaje de instrucciones que le dicen al browser como
presentar el contenido que se obtiene como producto de unpresentar el contenido que se obtiene como producto de un
request.
Tag Descripción
<!-- --> Comentario
<a> Enlace local o a otra página
<body> Indica la parte donde se coloca el contenido
de la página
<br> Cambio de línea
<title> Titulo de la página
<head> Encabezado de la página
<form> Formulario para ingreso de datos
<html> Inicio del documento html
<input type> Campo para ingreso de datos
Guía Rápida HTML
Input Descripción
text Campo para ingreso de datos.
password Campo para ingreso de datos pero con
máscara.
hiddden Campo oculto para guardar información.
submit Botón para envío de datos del formulario a
procesamiento.
button Botón de tipo general.
Image Botón de tipo submit pero con imagen deImage Botón de tipo submit pero con imagen de
fondo.
radio Botón de tipo radio.
checkbox Botón de tipo check.
reset Botón para limpiar campos de un formulario.
file Permite cargar archivos de estructura de
directorios local.
Guía Rápida HTML
Los formularios permiten definir el método HTTP y el código
del lado del servidor que va procesar los datos ingresadosdel lado del servidor que va procesar los datos ingresados
para el usuario.
Los datos son ingresados mediante tags de tipo input.
Guía Rápida HTML
Tablas
Guía Rápida HTML
Tablas
Guía Rápida HTML
Aplicaciones Web con Java
El desarrollo de aplicaciones Web con Java esta soportado en
la especificación JEE. En esta medida se requiere de un
contenedor Web para el despliegue y ejecución de las
la especificación JEE. En esta medida se requiere de un
contenedor Web para el despliegue y ejecución de las
aplicaciones.
Con Java se pueden implementar dos tipos de aplicaciones:
Orientadas a presentación: generan paginas web interactivas con
contenido estatico y dinamico como respuesta a un request. Los
componentes usados son JSP y Servlet.componentes usados son JSP y Servlet.
Orientadas a servicios: basada en web services, donde los clientes
consumidores de los web services pueden ser aplicaciones
orientadas a presentación.
Aplicaciones Web con Java
Aplicaciones Web con Java
Estructura de directorios(Despliegue)
Server root
Web app
WEB-INF
classes lib
Index.jsp Main.html
web.xml
Estructura de directorios(Netbeans)
Servlets y clases java
JSPs, imágenes, htmls, css
Librerías de clases (.jar)Librerías de clases (.jar)
Deployment Descriptor
Las aplicaciones JEE tienen un archivo de
configuración que se conoce como deploymentconfiguración que se conoce como deployment
descriptor (web.xml).
En este archivo se puede definir:
Página de inicio de la aplicación.
Mapeo de servlets
Páginas de error asociadas con excepcionesPáginas de error asociadas con excepciones
Parámetros de inicio
Deployment Descriptor
Mapeo de servlets
Deployment Descriptor
Definición página de error
Definición página de inicio
Deployment Descriptor
Para mas detalle de los elementos del web.xml ver
http://download-llnw.oracle.com/docs/cd/E13222_01/wls/docs81/webapp/web_xml.html
Servlet
En la arquitectura java, son clases que se ejecutan
del lado del servidor, y son las encargadas dedel lado del servidor, y son las encargadas de
procesar las solicitudes generadas del lado del
cliente.
Desde el punto de vista MVC, los servlets
proporcionan el rol de controlador, recibiendoproporcionan el rol de controlador, recibiendo
solicitudes de la vista, invocando los componentes
de negocio(servicio), y retornando un response al
cliente que inicio el proceso
Servlet
Servlet
Servlet
JSP
Son componentes que se ejecutan del lado del servidor
para generar HTML que se envia como response y es
pintado del lado del cliente.
para generar HTML que se envia como response y es
pintado del lado del cliente.
La particularidad de los JSP es que permiten embeber
código Java en HTML para generar contenido
dinámico.
En el marco de MVC, JSP asume el rol de vista queEn el marco de MVC, JSP asume el rol de vista que
genera solicitudes hacia el controlador, y pinta los
datos recibidor del controlador como resultado.
JSP
JSP
Bibliografía
B. Basham. Head First Servlets and JSP. Oreilly,
2008.2008.
The Java EE 5 Tutorial.
http://java.sun.com/javaee/5/docs/tutorial/doc/ind
ex.html

Weitere ähnliche Inhalte

Was ist angesagt?

Cjee a-leccion-web services-jax-ws
Cjee a-leccion-web services-jax-wsCjee a-leccion-web services-jax-ws
Cjee a-leccion-web services-jax-ws
andres880106
 
Sesion 3. desarrollo de aplicaciones jee
Sesion 3. desarrollo de aplicaciones jeeSesion 3. desarrollo de aplicaciones jee
Sesion 3. desarrollo de aplicaciones jee
Héctor Santos
 
Microsoft Asp. Net [Asp.Net - Parte 2]
Microsoft Asp. Net [Asp.Net - Parte 2]Microsoft Asp. Net [Asp.Net - Parte 2]
Microsoft Asp. Net [Asp.Net - Parte 2]
Antonio Torres
 
Servlets y jsp
Servlets y jspServlets y jsp
Servlets y jsp
dtbadboy0
 
Asp.net conceptos
Asp.net conceptosAsp.net conceptos
Asp.net conceptos
XstremsX
 

Was ist angesagt? (20)

Tutorial - REST con java (JAX-RS 2.0)
Tutorial - REST con java (JAX-RS 2.0)Tutorial - REST con java (JAX-RS 2.0)
Tutorial - REST con java (JAX-RS 2.0)
 
Programación web con JSP
Programación web con JSPProgramación web con JSP
Programación web con JSP
 
Cjee a-leccion-web services-jax-ws
Cjee a-leccion-web services-jax-wsCjee a-leccion-web services-jax-ws
Cjee a-leccion-web services-jax-ws
 
Resumen jee
Resumen jeeResumen jee
Resumen jee
 
Sesion 3. desarrollo de aplicaciones jee
Sesion 3. desarrollo de aplicaciones jeeSesion 3. desarrollo de aplicaciones jee
Sesion 3. desarrollo de aplicaciones jee
 
Microsoft Asp. Net [Asp.Net - Parte 2]
Microsoft Asp. Net [Asp.Net - Parte 2]Microsoft Asp. Net [Asp.Net - Parte 2]
Microsoft Asp. Net [Asp.Net - Parte 2]
 
Herramientas de Desarrollo de Sistemas
Herramientas de Desarrollo de SistemasHerramientas de Desarrollo de Sistemas
Herramientas de Desarrollo de Sistemas
 
Curso Java Avanzado 2 Servlets
Curso Java Avanzado   2 ServletsCurso Java Avanzado   2 Servlets
Curso Java Avanzado 2 Servlets
 
Introducción a REST - SymfonyVLC
Introducción a REST - SymfonyVLCIntroducción a REST - SymfonyVLC
Introducción a REST - SymfonyVLC
 
Curso Java Avanzado 5 Ejb
Curso Java Avanzado   5 EjbCurso Java Avanzado   5 Ejb
Curso Java Avanzado 5 Ejb
 
Java DataBase Connectivity
Java DataBase ConnectivityJava DataBase Connectivity
Java DataBase Connectivity
 
Intro a ASP.NET
Intro a ASP.NETIntro a ASP.NET
Intro a ASP.NET
 
Jdbc Mysql
Jdbc MysqlJdbc Mysql
Jdbc Mysql
 
Servlet
ServletServlet
Servlet
 
Diapositivas Web Util
Diapositivas Web UtilDiapositivas Web Util
Diapositivas Web Util
 
Servlets y jsp
Servlets y jspServlets y jsp
Servlets y jsp
 
Asp.net conceptos
Asp.net conceptosAsp.net conceptos
Asp.net conceptos
 
Desarrollando con APIs
Desarrollando con APIsDesarrollando con APIs
Desarrollando con APIs
 
Asp
AspAsp
Asp
 
STRUTS (MVC e Java)
STRUTS (MVC e Java)STRUTS (MVC e Java)
STRUTS (MVC e Java)
 

Andere mochten auch

mepf-electrical inspection safety audit
mepf-electrical inspection safety auditmepf-electrical inspection safety audit
mepf-electrical inspection safety audit
Edvir Chris Sarcon
 
Lego Chart (2)
Lego  Chart (2)Lego  Chart (2)
Lego Chart (2)
danellemcc
 
Life threatening conditions
Life threatening conditionsLife threatening conditions
Life threatening conditions
Lee Oi Wah
 

Andere mochten auch (10)

Conversion Optimization with Peep Laja
Conversion Optimization with Peep LajaConversion Optimization with Peep Laja
Conversion Optimization with Peep Laja
 
mepf-electrical inspection safety audit
mepf-electrical inspection safety auditmepf-electrical inspection safety audit
mepf-electrical inspection safety audit
 
Have your life changed since you are on Facebook?
Have your life changed since you are on Facebook? Have your life changed since you are on Facebook?
Have your life changed since you are on Facebook?
 
Medicare 101 2008
Medicare 101 2008Medicare 101 2008
Medicare 101 2008
 
Prac2012(1)
Prac2012(1)Prac2012(1)
Prac2012(1)
 
Lego Chart (2)
Lego  Chart (2)Lego  Chart (2)
Lego Chart (2)
 
Create Engaging Digital Commerce Experiences with IBM and CoreMedia
Create Engaging Digital Commerce Experiences with IBM and CoreMediaCreate Engaging Digital Commerce Experiences with IBM and CoreMedia
Create Engaging Digital Commerce Experiences with IBM and CoreMedia
 
Line Crew Optimisation Methodology
Line Crew Optimisation MethodologyLine Crew Optimisation Methodology
Line Crew Optimisation Methodology
 
Life threatening conditions
Life threatening conditionsLife threatening conditions
Life threatening conditions
 
marketing mix
marketing mixmarketing mix
marketing mix
 

Ähnlich wie Desarrollo web

[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con Java[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con Java
Eudris Cabrera
 
Serlets y jsp prev
Serlets y jsp prevSerlets y jsp prev
Serlets y jsp prev
jtk1
 
Serlets y jsp pre
Serlets y jsp preSerlets y jsp pre
Serlets y jsp pre
jtk1
 
Programacion web java
Programacion web javaProgramacion web java
Programacion web java
César Ocampo
 
Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)
Robert Rayco Quiroz
 

Ähnlich wie Desarrollo web (20)

[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con Java[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con 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
 
Programación en Internet
Programación en InternetProgramación en Internet
Programación en Internet
 
Presentacion sesion01 - Programacion WEB
Presentacion sesion01 - Programacion WEBPresentacion sesion01 - Programacion WEB
Presentacion sesion01 - Programacion WEB
 
SERVLET BASICS
SERVLET BASICSSERVLET BASICS
SERVLET BASICS
 
Aplicaciones web
Aplicaciones webAplicaciones web
Aplicaciones web
 
Sistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebSistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la Web
 
Clase17(introduccion a la web)
Clase17(introduccion a la web)Clase17(introduccion a la web)
Clase17(introduccion a la web)
 
Serlets y jsp prev
Serlets y jsp prevSerlets y jsp prev
Serlets y jsp prev
 
Serlets y jsp pre
Serlets y jsp preSerlets y jsp pre
Serlets y jsp pre
 
Java Web - Introduccion
Java Web - IntroduccionJava Web - Introduccion
Java Web - Introduccion
 
Programacion web java
Programacion web javaProgramacion web java
Programacion web java
 
Capitulo 2 servidores
Capitulo 2   servidoresCapitulo 2   servidores
Capitulo 2 servidores
 
Capitulo 2 servidores
Capitulo 2   servidoresCapitulo 2   servidores
Capitulo 2 servidores
 
Capitulo 2 servidores
Capitulo 2   servidoresCapitulo 2   servidores
Capitulo 2 servidores
 
Capitulo 2 servidores
Capitulo 2   servidoresCapitulo 2   servidores
Capitulo 2 servidores
 
Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)
 
Desarrollo web con_asp.net 2.1
Desarrollo web con_asp.net 2.1Desarrollo web con_asp.net 2.1
Desarrollo web con_asp.net 2.1
 
Servidor web
Servidor webServidor web
Servidor web
 
[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
 

Mehr von Josue Cucaita Murcia (13)

Cucaita m josueg semana4 actividad2 presentacion investigación accion
Cucaita m josueg semana4 actividad2 presentacion investigación accionCucaita m josueg semana4 actividad2 presentacion investigación accion
Cucaita m josueg semana4 actividad2 presentacion investigación accion
 
Cucaitam josueg semana2 tarea2 presentacion investigación cualitativa
Cucaitam josueg semana2 tarea2 presentacion investigación cualitativaCucaitam josueg semana2 tarea2 presentacion investigación cualitativa
Cucaitam josueg semana2 tarea2 presentacion investigación cualitativa
 
Analisis incentivo maestria
Analisis incentivo maestriaAnalisis incentivo maestria
Analisis incentivo maestria
 
Incentivo salarial d. 1278
Incentivo salarial d. 1278Incentivo salarial d. 1278
Incentivo salarial d. 1278
 
Taller desarrollo web
Taller  desarrollo webTaller  desarrollo web
Taller desarrollo web
 
Desarrollo web2
Desarrollo web2Desarrollo web2
Desarrollo web2
 
Herramientas web 2.0 para la educacion
Herramientas web 2.0 para la educacionHerramientas web 2.0 para la educacion
Herramientas web 2.0 para la educacion
 
Innovacion educativa y tics actividad modulo ii guillermo cucaita nov 16
Innovacion educativa y tics actividad modulo ii guillermo cucaita nov 16Innovacion educativa y tics actividad modulo ii guillermo cucaita nov 16
Innovacion educativa y tics actividad modulo ii guillermo cucaita nov 16
 
Contador
ContadorContador
Contador
 
Dado electronico
Dado electronicoDado electronico
Dado electronico
 
Led intermitente
Led intermitenteLed intermitente
Led intermitente
 
Curso herramientas web2
Curso herramientas web2Curso herramientas web2
Curso herramientas web2
 
Curso herramientas web2
Curso herramientas web2Curso herramientas web2
Curso herramientas web2
 

Kürzlich hochgeladen

🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
Wilian24
 

Kürzlich hochgeladen (20)

🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
Los dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la VerdadLos dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la Verdad
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
AEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxAEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptx
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptxPLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptx
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
La Evaluacion Formativa SM6 Ccesa007.pdf
La Evaluacion Formativa SM6  Ccesa007.pdfLa Evaluacion Formativa SM6  Ccesa007.pdf
La Evaluacion Formativa SM6 Ccesa007.pdf
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 

Desarrollo web

  • 1. PROGRAMACIÓN AVANZADA I DESARROLLO WEB Mario Linares Vásquez Especialización Ingeniería de Software - Unillanos
  • 2. Agenda Introducción. Guía rápida html.Guía rápida html. Desarrollo web con Java. Servlet. JSP.
  • 3. Servidores Web Un servidor web proporciona acceso a recursos solicitados por un cliente en un esquema de solicitud y respuesta,por un cliente en un esquema de solicitud y respuesta, basado en el protocolo HTTP. Request http://www.mipagina.com Response
  • 4. Servidores Web El contenido proporcionado por el servidor web son documentos estáticos y archivos en formato HTML, que sondocumentos estáticos y archivos en formato HTML, que son interpretador por el browser en el lado del cliente que hace la solicitud. La generación de contenido dinámico se puede obtener mediante la interpretación de lenguajes de script en el cliente (Javascript) o mediante la vinculación de código que se(Javascript) o mediante la vinculación de código que se ejecuta del lado del servidor. En el caso de los servidores web, soportan la ejecución de CGI con la ayuda de módulos adicionales.
  • 5. Contenedores Web El concepto de contenedor web se maneja como parte de la especificación JEE. Un contenedor web se puede entenderespecificación JEE. Un contenedor web se puede entender como un servidor Web con la capacidad de ejecutar código Java en el lado del servidor, especificamente JSPs y Servlets. El contenedor WEB mas conocido y mas usado es Apache Tomcat.Tomcat.
  • 6. Servidores de aplicaciones Extienden el concepto de servidor/contenedor web para incluir servicios como:servicios como: Clustering. Tolerancia a fallas. Balanceo de cargas. Ejecución de objetos de negocio(EJB).Ejecución de objetos de negocio(EJB). Seguridad. Transacciones. Soporte para publicación y orquestación de servicios.
  • 7. Servidores de aplicaciones WebSphere Application Server (IBM)WebSphere Application Server (IBM) Sybase Enterprise Application Server (Sybase Inc) WebLogic Server (Oracle) JBoss (Red Hat) Apache Geronimo (Apache Software Foundation) Oracle Application Server (Oracle) Oracle OC4J (Oracle)Oracle OC4J (Oracle) Sun GlassFish Enterprise Server (Sun Microsystems) SAP Netweaver AS (ABAP/Java) (SAP) Glassfish Application Server (open source)
  • 9. GET vs POST HTTP soporta varios métodos para envió de solicitudes al servidor. Los métodos mas usados son GET y POST.servidor. Los métodos mas usados son GET y POST. En el caso de GET los parámetros son enviados en la URL en el formato parámetro=valor. En el caso de POST los parámetros son enviados dentro del mensate HTTP.
  • 12. Guía Rápida HTML Lenguaje de instrucciones que le dicen al browser como presentar el contenido que se obtiene como producto de unpresentar el contenido que se obtiene como producto de un request. Tag Descripción <!-- --> Comentario <a> Enlace local o a otra página <body> Indica la parte donde se coloca el contenido de la página <br> Cambio de línea <title> Titulo de la página <head> Encabezado de la página <form> Formulario para ingreso de datos <html> Inicio del documento html <input type> Campo para ingreso de datos
  • 13. Guía Rápida HTML Input Descripción text Campo para ingreso de datos. password Campo para ingreso de datos pero con máscara. hiddden Campo oculto para guardar información. submit Botón para envío de datos del formulario a procesamiento. button Botón de tipo general. Image Botón de tipo submit pero con imagen deImage Botón de tipo submit pero con imagen de fondo. radio Botón de tipo radio. checkbox Botón de tipo check. reset Botón para limpiar campos de un formulario. file Permite cargar archivos de estructura de directorios local.
  • 14. Guía Rápida HTML Los formularios permiten definir el método HTTP y el código del lado del servidor que va procesar los datos ingresadosdel lado del servidor que va procesar los datos ingresados para el usuario. Los datos son ingresados mediante tags de tipo input.
  • 18. Aplicaciones Web con Java El desarrollo de aplicaciones Web con Java esta soportado en la especificación JEE. En esta medida se requiere de un contenedor Web para el despliegue y ejecución de las la especificación JEE. En esta medida se requiere de un contenedor Web para el despliegue y ejecución de las aplicaciones. Con Java se pueden implementar dos tipos de aplicaciones: Orientadas a presentación: generan paginas web interactivas con contenido estatico y dinamico como respuesta a un request. Los componentes usados son JSP y Servlet.componentes usados son JSP y Servlet. Orientadas a servicios: basada en web services, donde los clientes consumidores de los web services pueden ser aplicaciones orientadas a presentación.
  • 21. Estructura de directorios(Despliegue) Server root Web app WEB-INF classes lib Index.jsp Main.html web.xml
  • 22. Estructura de directorios(Netbeans) Servlets y clases java JSPs, imágenes, htmls, css Librerías de clases (.jar)Librerías de clases (.jar)
  • 23. Deployment Descriptor Las aplicaciones JEE tienen un archivo de configuración que se conoce como deploymentconfiguración que se conoce como deployment descriptor (web.xml). En este archivo se puede definir: Página de inicio de la aplicación. Mapeo de servlets Páginas de error asociadas con excepcionesPáginas de error asociadas con excepciones Parámetros de inicio
  • 25. Deployment Descriptor Definición página de error Definición página de inicio
  • 26. Deployment Descriptor Para mas detalle de los elementos del web.xml ver http://download-llnw.oracle.com/docs/cd/E13222_01/wls/docs81/webapp/web_xml.html
  • 27. Servlet En la arquitectura java, son clases que se ejecutan del lado del servidor, y son las encargadas dedel lado del servidor, y son las encargadas de procesar las solicitudes generadas del lado del cliente. Desde el punto de vista MVC, los servlets proporcionan el rol de controlador, recibiendoproporcionan el rol de controlador, recibiendo solicitudes de la vista, invocando los componentes de negocio(servicio), y retornando un response al cliente que inicio el proceso
  • 31. JSP Son componentes que se ejecutan del lado del servidor para generar HTML que se envia como response y es pintado del lado del cliente. para generar HTML que se envia como response y es pintado del lado del cliente. La particularidad de los JSP es que permiten embeber código Java en HTML para generar contenido dinámico. En el marco de MVC, JSP asume el rol de vista queEn el marco de MVC, JSP asume el rol de vista que genera solicitudes hacia el controlador, y pinta los datos recibidor del controlador como resultado.
  • 32. JSP
  • 33. JSP
  • 34. Bibliografía B. Basham. Head First Servlets and JSP. Oreilly, 2008.2008. The Java EE 5 Tutorial. http://java.sun.com/javaee/5/docs/tutorial/doc/ind ex.html