SlideShare une entreprise Scribd logo
1  sur  21
JEE
Parte 4a
Servlets – Servidor de
aplicaciones y estructura de una
aplicación Web
SERVIDOR DE APLICACIONES
• Cuando se programa una aplicación web normalmente
necesitaremos de la participación de un servidor de
aplicaciones.
• Un servidor de aplicaciones es un software de
infraestructura que proporciona una serie de servicios a
las aplicaciones que se ejecutan en su interior.
2
SERVIDOR DE APLICACIONES
• Podríamos establecer una analogía con el concepto de
sistema operativo (SO).
• Un SO es quien controla la ejecución de las aplicaciones
en un ordenador, proporcionando una serie de servicios:
uso de la CPU, de la memoria RAM, acceso al sistema
de ficheros, etc.
3
SERVIDOR DE APLICACIONES
• El servidor de aplicaciones va a ser quien ejecute y
controle la ejecución de nuestras aplicaciones web.
• A su vez, nos prestará una serie de servicios como por
ejemplo:
– Permitir almacenar el estado entre distintas peticiones
del cliente.
– Facilitar el almacenamiento de información de modo
persistente (en una base de datos, por ejemplo).
– Repartir la carga de la aplicación web entre varios
servidores, etc.
4
SERVIDOR DE APLICACIONES
• El servidor de aplicaciones será quien realmente reciba
la petición http.
• Analizará dicha petición y almacenará toda la información
relativa a ella (como las cabeceras o la información de
los campos de un formulario) en objetos Java.
5
SERVIDOR DE APLICACIONES
• A continuación, si existe algún programa registrado para
gestionar peticiones a la URL a la cual ha llegado la
petición, invocará a dicho programa y le pasará como
parámetros objetos Java que contienen toda la
información relativa a la petición.
• Ese es el momento en el cual se comienza a ejecutar
nuestro código fuente.
6
SERVIDOR DE APLICACIONES
• Empleando el API que el servidor proporciona con este
fin, nuestro programa Java podrá acceder a la
información de la petición, procesarla, y generar la
respuesta adecuada.
• Para generar la respuesta adecuada nuevamente el
servidor nos proporciona un API compuesta por varios
objetos Java.
7
SERVIDOR DE APLICACIONES
• Nosotros invocaremos métodos sobre esos objetos Java,
y el servidor finalmente generará una respuesta a la
petición a partir de ellos, respuesta que enviará por la
red.
• En este curso emplearemos el servidor de aplicaciones
Glassfish 3.1 junto con Netbeans 6/7 para la ejecución de
los ejemplos.
8
Estructura de directorios de una
aplicación web
• La imagen muestra la
estructura de directorios
recomendada para una
aplicación web Java EE:
9
Estructura de directorios de una
aplicación web
• El directorio build guarda la
salida resultante de la
compilación del código Java
de la aplicación.
10
Estructura de directorios de una
aplicación web
• El directorio dist guarda el
producto que finalmente
será distribuido.
• Esto es, la aplicación web al
completo, incluyendo los
recursos compilados,
librerías y los recursos
estáticos que puedan formar
parte de ella (imágenes,
ficheros de propiedades,
etc).
11
Estructura de directorios de una
aplicación web
• El directorio docs se emplea
para guardar el javadoc de
la aplicación.
12
Estructura de directorios de una
aplicación web
• El directorio lib sirve para
guardar librerías de terceras
partes que estemos
empleando en nuestra
aplicación.
13
Estructura de directorios de una
aplicación web
• El directorio setup se
emplea para guardar
archivos de configuración
que puedan formar parte de
nuestra aplicación.
14
Estructura de directorios de una
aplicación web
• El código fuente debe estar
colgando del directorio src,
en una estructura de
subdirectorios que refleje los
distintos paquetes que se
están empleando en el
código fuente.
15
Estructura de directorios de una
aplicación web
• Es habitual que en el
directorio raíz de la
aplicación encontremos
ficheros con información
acerca de la licencia de la
aplicación e información de
cómo usarla.
• También es aquí donde a
menudo se encuentra un
script de la herramienta de
compilación Apache Ant
(http://ant.apache.org/) para
trabajar con el proyecto (el
fichero build.xml).
16
Estructura de directorios de una
aplicación web
• Desde el directorio web
cuelga la aplicación web al
completo.
• Su contenido (posiblemente
conveniente empaquetado
en un fichero .war) es lo que
nuestro entorno de
desarrollo o la herramienta
Ant copiarán al directorio
dist.
17
Estructura de directorios de una
aplicación web
• En la raíz del directorio web,
o en una subcarpeta,
colocaremos el contenido
estático de nuestra
aplicación como, por
ejemplo, imágenes, hojas de
estilo, páginas web HTML
estáticas, etc.
18
Estructura de directorios de una
aplicación web
• Del directorio web cuelga un
directorio con nombre WEB-
INF.
• En la raíz de este directorio
podemos encontrar el
descriptor de despliegue de
la aplicación; esto es, un
fichero XML denominado
web.xml.
19
Estructura de directorios de una
aplicación web
• El fichero web.xml contiene
distintos parámetros de
configuración de nuestra
aplicación.
• Posteriormente, veremos
con calma qué información
contiene dicho fichero.
20
Estructura de directorios de una
aplicación web
• Del directorio WEB-INF
también debe colgar el
resultado de la compilación
de nuestro código Java,
empleando la adecuada
estructura de directorios
según los paquetes
definidos.
• Es decir, aquí es donde se
copia el contenido del
directorio build.
21

Contenu connexe

Similaire à CURSO-JEE-Parte4a-Servlets-Serv.App y estructura de una app. Web.pptx

Similaire à CURSO-JEE-Parte4a-Servlets-Serv.App y estructura de una app. Web.pptx (20)

Clase17(introduccion a la web)
Clase17(introduccion a la web)Clase17(introduccion a la web)
Clase17(introduccion a la web)
 
nn
nnnn
nn
 
Java Web - Servlet
Java Web - ServletJava Web - Servlet
Java Web - Servlet
 
software APACHE.
software APACHE.software APACHE.
software APACHE.
 
base de datos con codigos abiertos.pptx
base de datos con codigos abiertos.pptxbase de datos con codigos abiertos.pptx
base de datos con codigos abiertos.pptx
 
Laravel vc
Laravel vcLaravel vc
Laravel vc
 
Programación web
Programación webProgramación web
Programación web
 
breve historia www
breve historia wwwbreve historia www
breve historia www
 
Breve Historia De Www
Breve Historia De WwwBreve Historia De Www
Breve Historia De Www
 
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
 
Actividad n 5.3 http ftp
Actividad n 5.3 http ftpActividad n 5.3 http ftp
Actividad n 5.3 http ftp
 
Actividad n 5.3 http ftp
Actividad n 5.3 http ftpActividad n 5.3 http ftp
Actividad n 5.3 http ftp
 
Laravel
LaravelLaravel
Laravel
 
Guia LAPP
Guia LAPPGuia LAPP
Guia LAPP
 
servlets
servlets servlets
servlets
 
Servlet
ServletServlet
Servlet
 
Unidad5actividdad1
Unidad5actividdad1Unidad5actividdad1
Unidad5actividdad1
 
Servicio apache gnu linux-centos ::: http://leymebamba.com
Servicio apache  gnu linux-centos  ::: http://leymebamba.comServicio apache  gnu linux-centos  ::: http://leymebamba.com
Servicio apache gnu linux-centos ::: http://leymebamba.com
 
2 web-forms
2 web-forms2 web-forms
2 web-forms
 
2 web-forms
2 web-forms2 web-forms
2 web-forms
 

Dernier

Mapas Conceptuales finales Rubén finales.pptx
Mapas Conceptuales finales Rubén finales.pptxMapas Conceptuales finales Rubén finales.pptx
Mapas Conceptuales finales Rubén finales.pptxjose880240
 
P7_E1_DanielPoza.pdf Los avances en los sistemas de comunicascion y su difusi...
P7_E1_DanielPoza.pdf Los avances en los sistemas de comunicascion y su difusi...P7_E1_DanielPoza.pdf Los avances en los sistemas de comunicascion y su difusi...
P7_E1_DanielPoza.pdf Los avances en los sistemas de comunicascion y su difusi...danielpoza1
 
Razones_para_estar_en_contra_del_aborto.pdf
Razones_para_estar_en_contra_del_aborto.pdfRazones_para_estar_en_contra_del_aborto.pdf
Razones_para_estar_en_contra_del_aborto.pdfKristellCordova
 
PARTES DE LA PANTALLA DE POWER POINT.pptx
PARTES DE LA PANTALLA DE POWER POINT.pptxPARTES DE LA PANTALLA DE POWER POINT.pptx
PARTES DE LA PANTALLA DE POWER POINT.pptxdsap2008
 
Imagen creada en photopea con el fin de informar acerca de los navegadores web.
Imagen creada en photopea con el fin de informar acerca de los navegadores web.Imagen creada en photopea con el fin de informar acerca de los navegadores web.
Imagen creada en photopea con el fin de informar acerca de los navegadores web.UNIVERSIDAD
 
Manual-Microsoft-Office-Excel-2i010-basico.pdf
Manual-Microsoft-Office-Excel-2i010-basico.pdfManual-Microsoft-Office-Excel-2i010-basico.pdf
Manual-Microsoft-Office-Excel-2i010-basico.pdfCristinaOgandoMorale
 
diapositivas tiktok.KAY (1) (1) (1).pptx
diapositivas tiktok.KAY (1) (1) (1).pptxdiapositivas tiktok.KAY (1) (1) (1).pptx
diapositivas tiktok.KAY (1) (1) (1).pptxLDACORGANIZACION
 
Esquema Organizacional Cosapi (Constructora)
Esquema Organizacional Cosapi (Constructora)Esquema Organizacional Cosapi (Constructora)
Esquema Organizacional Cosapi (Constructora)Eder Diaz Flores
 
PerezGallegos_Claudia_M1S3Al6.pptx las tic en la vida cotidiana
PerezGallegos_Claudia_M1S3Al6.pptx las tic en la vida cotidianaPerezGallegos_Claudia_M1S3Al6.pptx las tic en la vida cotidiana
PerezGallegos_Claudia_M1S3Al6.pptx las tic en la vida cotidiana241544382
 
Presentacion De Imagenes Digitales Y Navegadores De Internet.
Presentacion De Imagenes Digitales Y Navegadores De Internet.Presentacion De Imagenes Digitales Y Navegadores De Internet.
Presentacion De Imagenes Digitales Y Navegadores De Internet.Universidad De Sonora
 

Dernier (11)

Mapas Conceptuales finales Rubén finales.pptx
Mapas Conceptuales finales Rubén finales.pptxMapas Conceptuales finales Rubén finales.pptx
Mapas Conceptuales finales Rubén finales.pptx
 
P7_E1_DanielPoza.pdf Los avances en los sistemas de comunicascion y su difusi...
P7_E1_DanielPoza.pdf Los avances en los sistemas de comunicascion y su difusi...P7_E1_DanielPoza.pdf Los avances en los sistemas de comunicascion y su difusi...
P7_E1_DanielPoza.pdf Los avances en los sistemas de comunicascion y su difusi...
 
Razones_para_estar_en_contra_del_aborto.pdf
Razones_para_estar_en_contra_del_aborto.pdfRazones_para_estar_en_contra_del_aborto.pdf
Razones_para_estar_en_contra_del_aborto.pdf
 
PARTES DE LA PANTALLA DE POWER POINT.pptx
PARTES DE LA PANTALLA DE POWER POINT.pptxPARTES DE LA PANTALLA DE POWER POINT.pptx
PARTES DE LA PANTALLA DE POWER POINT.pptx
 
Imagen creada en photopea con el fin de informar acerca de los navegadores web.
Imagen creada en photopea con el fin de informar acerca de los navegadores web.Imagen creada en photopea con el fin de informar acerca de los navegadores web.
Imagen creada en photopea con el fin de informar acerca de los navegadores web.
 
Dominios_De_Internet.pdf
Dominios_De_Internet.pdfDominios_De_Internet.pdf
Dominios_De_Internet.pdf
 
Manual-Microsoft-Office-Excel-2i010-basico.pdf
Manual-Microsoft-Office-Excel-2i010-basico.pdfManual-Microsoft-Office-Excel-2i010-basico.pdf
Manual-Microsoft-Office-Excel-2i010-basico.pdf
 
diapositivas tiktok.KAY (1) (1) (1).pptx
diapositivas tiktok.KAY (1) (1) (1).pptxdiapositivas tiktok.KAY (1) (1) (1).pptx
diapositivas tiktok.KAY (1) (1) (1).pptx
 
Esquema Organizacional Cosapi (Constructora)
Esquema Organizacional Cosapi (Constructora)Esquema Organizacional Cosapi (Constructora)
Esquema Organizacional Cosapi (Constructora)
 
PerezGallegos_Claudia_M1S3Al6.pptx las tic en la vida cotidiana
PerezGallegos_Claudia_M1S3Al6.pptx las tic en la vida cotidianaPerezGallegos_Claudia_M1S3Al6.pptx las tic en la vida cotidiana
PerezGallegos_Claudia_M1S3Al6.pptx las tic en la vida cotidiana
 
Presentacion De Imagenes Digitales Y Navegadores De Internet.
Presentacion De Imagenes Digitales Y Navegadores De Internet.Presentacion De Imagenes Digitales Y Navegadores De Internet.
Presentacion De Imagenes Digitales Y Navegadores De Internet.
 

CURSO-JEE-Parte4a-Servlets-Serv.App y estructura de una app. Web.pptx

  • 1. JEE Parte 4a Servlets – Servidor de aplicaciones y estructura de una aplicación Web
  • 2. SERVIDOR DE APLICACIONES • Cuando se programa una aplicación web normalmente necesitaremos de la participación de un servidor de aplicaciones. • Un servidor de aplicaciones es un software de infraestructura que proporciona una serie de servicios a las aplicaciones que se ejecutan en su interior. 2
  • 3. SERVIDOR DE APLICACIONES • Podríamos establecer una analogía con el concepto de sistema operativo (SO). • Un SO es quien controla la ejecución de las aplicaciones en un ordenador, proporcionando una serie de servicios: uso de la CPU, de la memoria RAM, acceso al sistema de ficheros, etc. 3
  • 4. SERVIDOR DE APLICACIONES • El servidor de aplicaciones va a ser quien ejecute y controle la ejecución de nuestras aplicaciones web. • A su vez, nos prestará una serie de servicios como por ejemplo: – Permitir almacenar el estado entre distintas peticiones del cliente. – Facilitar el almacenamiento de información de modo persistente (en una base de datos, por ejemplo). – Repartir la carga de la aplicación web entre varios servidores, etc. 4
  • 5. SERVIDOR DE APLICACIONES • El servidor de aplicaciones será quien realmente reciba la petición http. • Analizará dicha petición y almacenará toda la información relativa a ella (como las cabeceras o la información de los campos de un formulario) en objetos Java. 5
  • 6. SERVIDOR DE APLICACIONES • A continuación, si existe algún programa registrado para gestionar peticiones a la URL a la cual ha llegado la petición, invocará a dicho programa y le pasará como parámetros objetos Java que contienen toda la información relativa a la petición. • Ese es el momento en el cual se comienza a ejecutar nuestro código fuente. 6
  • 7. SERVIDOR DE APLICACIONES • Empleando el API que el servidor proporciona con este fin, nuestro programa Java podrá acceder a la información de la petición, procesarla, y generar la respuesta adecuada. • Para generar la respuesta adecuada nuevamente el servidor nos proporciona un API compuesta por varios objetos Java. 7
  • 8. SERVIDOR DE APLICACIONES • Nosotros invocaremos métodos sobre esos objetos Java, y el servidor finalmente generará una respuesta a la petición a partir de ellos, respuesta que enviará por la red. • En este curso emplearemos el servidor de aplicaciones Glassfish 3.1 junto con Netbeans 6/7 para la ejecución de los ejemplos. 8
  • 9. Estructura de directorios de una aplicación web • La imagen muestra la estructura de directorios recomendada para una aplicación web Java EE: 9
  • 10. Estructura de directorios de una aplicación web • El directorio build guarda la salida resultante de la compilación del código Java de la aplicación. 10
  • 11. Estructura de directorios de una aplicación web • El directorio dist guarda el producto que finalmente será distribuido. • Esto es, la aplicación web al completo, incluyendo los recursos compilados, librerías y los recursos estáticos que puedan formar parte de ella (imágenes, ficheros de propiedades, etc). 11
  • 12. Estructura de directorios de una aplicación web • El directorio docs se emplea para guardar el javadoc de la aplicación. 12
  • 13. Estructura de directorios de una aplicación web • El directorio lib sirve para guardar librerías de terceras partes que estemos empleando en nuestra aplicación. 13
  • 14. Estructura de directorios de una aplicación web • El directorio setup se emplea para guardar archivos de configuración que puedan formar parte de nuestra aplicación. 14
  • 15. Estructura de directorios de una aplicación web • El código fuente debe estar colgando del directorio src, en una estructura de subdirectorios que refleje los distintos paquetes que se están empleando en el código fuente. 15
  • 16. Estructura de directorios de una aplicación web • Es habitual que en el directorio raíz de la aplicación encontremos ficheros con información acerca de la licencia de la aplicación e información de cómo usarla. • También es aquí donde a menudo se encuentra un script de la herramienta de compilación Apache Ant (http://ant.apache.org/) para trabajar con el proyecto (el fichero build.xml). 16
  • 17. Estructura de directorios de una aplicación web • Desde el directorio web cuelga la aplicación web al completo. • Su contenido (posiblemente conveniente empaquetado en un fichero .war) es lo que nuestro entorno de desarrollo o la herramienta Ant copiarán al directorio dist. 17
  • 18. Estructura de directorios de una aplicación web • En la raíz del directorio web, o en una subcarpeta, colocaremos el contenido estático de nuestra aplicación como, por ejemplo, imágenes, hojas de estilo, páginas web HTML estáticas, etc. 18
  • 19. Estructura de directorios de una aplicación web • Del directorio web cuelga un directorio con nombre WEB- INF. • En la raíz de este directorio podemos encontrar el descriptor de despliegue de la aplicación; esto es, un fichero XML denominado web.xml. 19
  • 20. Estructura de directorios de una aplicación web • El fichero web.xml contiene distintos parámetros de configuración de nuestra aplicación. • Posteriormente, veremos con calma qué información contiene dicho fichero. 20
  • 21. Estructura de directorios de una aplicación web • Del directorio WEB-INF también debe colgar el resultado de la compilación de nuestro código Java, empleando la adecuada estructura de directorios según los paquetes definidos. • Es decir, aquí es donde se copia el contenido del directorio build. 21