SlideShare una empresa de Scribd logo
1 de 15
UNIVERSIDAD NACIONAL DE CHIMBORAZO




                                                 Escuela de Sistemas y Computación
            Facultad de Ingeniería
      Escuela de Sistemas y computación
                 SERVLETS

                                Por:
                           Maggy Naranjo
                           Rocío Yambay
                           Juan C. Moyota   1
INTRODUCCIÓN




                                                                           Escuela de Sistemas y Computación
   Los servlets son el equivalente en tecnología Java a la
    programación CGI. Se trata de programas que se ejecutan en un
    servidor actuando como una capa middleware.
   Las clases del servlet no se cargan varias veces en
    memoria(como ocurría con CGI) ocupando por lo tanto menos
    recursos. Sólo hay un proceso corriendo en la maquina virtual de
    java manejando cada petición como una hebra.
   Los servlets son persistentes, una vez cargado el servlet
    permanece en memoria para subsiguientes peticiones.                2
VENTAJAS
   Eficiencia.- Con CGI tradicional, se arranca un nuevo
    proceso para cada solicitud HTTP. Con los Servlets, la
    máquina Virtual Java permanece arrancada, y cada




                                                                    Escuela de Sistemas y Computación
    petición es manejada por un thread Java de peso
    ligero, no un pesado proceso del sistema operativo.
   Conveniencia.- Los Servlets tienen una gran
    infraestructura para análisis automático y decodificación
    de datos de formularios HTML, leer y seleccionar
    cabeceras HTTP, manejar cookies, seguimiento de
    sesiones, y muchas otras utilidades.
   Potencia.-        Los servlets pueden comunicar
    directamente con el servidor Web. Los Servlets también
    pueden compartir los datos entre ellos, haciendo las
    cosas útiles como almacenes de conexiones a bases de
    datos fáciles de implementar.
                                                                3
VENTAJAS

 Portable.- Los Servlets están escritos en Java y
  siguen      un      API     bien    estándarizado.




                                                             Escuela de Sistemas y Computación
  Consecuentemente, los servlets escritos, digamos
  en el servidor I-Planet Enterprise, se pueden
  ejecutar sin modificarse en Apache, Microsoft IIS, o
  WebStar.
 Barato.-    Hay un número de servidores Web
  gratuitos o muy baratos que son buenos para el
  uso "personal" o el uso en sitesWeb de bajo nivel.
  Sin embargo, con la excepción de Apache, que es
  gratuito, la mayoría de los servidores Web
  comerciales son relativamente caros.                   4
CARACTERÍSTICAS
   Son independientes del servidor utilizado y de su
    sistema operativo, lo que quiere decir que a pesar de
    estar escritos en Java, el servidor puede estar escrito




                                                                    Escuela de Sistemas y Computación
    en cualquier lenguaje de programación.
   Los servlets pueden llamar a otros servlets, e incluso a
    métodos concretos de otros servlets.
   Los servlets pueden obtener fácilmente información
    acerca del     cliente (la permitida por el protocolo
    HTTP), tal como su dirección IP, el puerto que se utiliza
    en la llamada, el método utilizado (GET, POST), etc.
   Permiten además la utilización de            cookies y
    sesiones, de forma que se puede guardar información
    específica acerca de un usuario determinado.
                                                                5
CARACTERÍSTICAS

   Los servlets pueden actuar como enlace entre el cliente
    y una o varias bases de datos en arquitecturas cliente-
    servidor de 3 capas (si la base de datos está en un




                                                                   Escuela de Sistemas y Computación
    servidor distinto).
   Pueden realizar tareas de proxy para un applet.
    Debido a las restricciones de seguridad, un applet no
    puede acceder directamente por ejemplo a un servidor
    de datos localizado en cualquier máquina remota, pero
    el servlet sí puede hacerlo de su parte.
   Al igual que los programas CGI, los servlets permiten la
    generación dinámica de código HTML dentro de una
    propia página HTML. Así, pueden emplearse servlets
    para la creación de contadores, banners, etc.              6
ESQUEMA DE FUNCIONAMIENTO DE LOS SERVLET




                                               Escuela de Sistemas y Computación
                                           7
TOMCAT
 El proyecto Jakarta crea y mantiene soluciones de
  código abierto sobre la plataforma java para su




                                                              Escuela de Sistemas y Computación
  libre distribución. Es un proyecto colaborativo de la
  Fundación de Software Apache (ASF).
 Tomcat es un proyecto desarrollado por Jakarta
  que es una implementación de referencia de las
  tecnologías Java Servlet y JavaServer Pages
  (JSP).



                                                          8
TOMCAT 5.5.35
Tomcat incluye en servidor de paginas web:




                                                 Escuela de Sistemas y Computación
                                             9
ESTRUCTURA DE LOS SERVLETS
   Para la creación de nuestros archivos servlet se
    consideran tres herramientas como:




                                                          Escuela de Sistemas y Computación
     Apache Tomcat
     J2SE 1.7 (máquina virtual de Java)
     IDE JCreator

   Las clases para manejar los servlets se encuentran
    en los directorios de Tomcat mas no en la maquina
    virtual de Java J2SE.



                                                         10
CONSTRUCCIÓN DE UN SERVLET
 Configuración de las variables de entorno en el
  sistema.




                                                           Escuela de Sistemas y Computación
 Construcción de la aplicación servlet en el IDE
  JCreator.
 Para generar el archivo .class simplemente ejecutamos
  desde el programa, esta acción nos generará el archivo
  class.
 Configuración del servlet en Tomcat.




                                                       11
ASPECTO IMPORTANTE EN EL ARCHIVO
                  WEB.XML
   <servlet>




                                                              Escuela de Sistemas y Computación
        <servlet-name>ultimo</servlet-name>
        <servlet-class>ultimo</servlet-class>
     </servlet>

   <servlet-mapping>
         <servlet-name>ultimo</servlet-name>
         <url-pattern>/servlet/ultimo</url-pattern>
      </servlet-mapping>
   Para ejecutar tecleamos en el explorador de internet
    http://localhost:8080/servlets-examples/servlet/ultimo   12
COMANDOS
   ServletContext permite a los servlets acceder a información
    sobre el entorno en que se están ejecutando.
   ServletConfig define métodos que permiten pasar al servlet




                                                                       Escuela de Sistemas y Computación
    información sobre sus parámetros de inicialización.
   ServletRequest permite al método                  service() de
    GenericServlet obtener información sobre una petición de
    servicio recibida de un cliente.
   ServletResponse permite al método                service()   de
    GenericServlet enviar su respuesta al cliente que ha solicitado
    el servicio.
   HttpServletRequest deriva de ServletRequest. Esta interface
    permite a los métodos service(), doPost(), doGet(), etc. de la
    clase HttpServlet recibir una petición de servicio HTTP.
   HttpServletResponse extiende ServletResponse. A través de
    esta interface los métodos de HttpServlet envían información a
    los clientes que les han pedido algún servicio.
                                                                      13
CÓDIGO DE UN SERVLET

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;




                                                                                        Escuela de Sistemas y Computación
public class servlet extends HttpServlet
{
          public void doGet(HttpServletRequest peticion,
          HttpServletResponse respuesta)
                   throws ServletException, IOException
                   {
                             PrintWriter impresor;
                             impresor=respuesta.getWriter();
                             impresor.println("UNIVERSIDAD NACIONAL DE CHIMBORAZO");

                     }
}
                                                                                       14
Escuela de Sistemas y Computación
                                    15

Más contenido relacionado

La actualidad más candente

Modelado de analisis para aplicaciones web
Modelado de analisis para aplicaciones webModelado de analisis para aplicaciones web
Modelado de analisis para aplicaciones webMaritzaD
 
Arquitecturas de software exposicion
Arquitecturas de software   exposicionArquitecturas de software   exposicion
Arquitecturas de software exposicionjuca piro
 
Programación del lado del cliente
Programación del lado del clienteProgramación del lado del cliente
Programación del lado del clienteGabriel Mondragón
 
Herramientas De Control, Monitoreo Y Acceso A Base De Datos
Herramientas De Control, Monitoreo Y Acceso A Base De DatosHerramientas De Control, Monitoreo Y Acceso A Base De Datos
Herramientas De Control, Monitoreo Y Acceso A Base De DatosYazmin Ibarra
 
BD. control de concurrencia
BD. control de concurrenciaBD. control de concurrencia
BD. control de concurrencialiras loca
 
Proceso Unificado De Rational
Proceso Unificado De RationalProceso Unificado De Rational
Proceso Unificado De RationalJulio Delgadillo
 
Jasper reports in 3 easy steps
Jasper reports in 3 easy stepsJasper reports in 3 easy steps
Jasper reports in 3 easy stepsIvaylo Zashev
 
Control de Versiones - Uso de CVS en proyectos .NET
Control de Versiones - Uso de CVS en proyectos .NETControl de Versiones - Uso de CVS en proyectos .NET
Control de Versiones - Uso de CVS en proyectos .NETLa Red DBAccess
 
MODELO VISTA CONTROLADOR
MODELO VISTA CONTROLADORMODELO VISTA CONTROLADOR
MODELO VISTA CONTROLADORRené Pilataxi
 
Declarative Clients in Spring
Declarative Clients in SpringDeclarative Clients in Spring
Declarative Clients in SpringVMware Tanzu
 
Qué es un documento de requerimientos
Qué es un documento de requerimientosQué es un documento de requerimientos
Qué es un documento de requerimientosCarlos Alonso
 

La actualidad más candente (20)

Modelado de analisis para aplicaciones web
Modelado de analisis para aplicaciones webModelado de analisis para aplicaciones web
Modelado de analisis para aplicaciones web
 
Arquitecturas de software exposicion
Arquitecturas de software   exposicionArquitecturas de software   exposicion
Arquitecturas de software exposicion
 
Reglas de Oro
Reglas de OroReglas de Oro
Reglas de Oro
 
DRUPAL - caracteristicas
DRUPAL - caracteristicasDRUPAL - caracteristicas
DRUPAL - caracteristicas
 
Programación del lado del cliente
Programación del lado del clienteProgramación del lado del cliente
Programación del lado del cliente
 
Herramientas De Control, Monitoreo Y Acceso A Base De Datos
Herramientas De Control, Monitoreo Y Acceso A Base De DatosHerramientas De Control, Monitoreo Y Acceso A Base De Datos
Herramientas De Control, Monitoreo Y Acceso A Base De Datos
 
BD. control de concurrencia
BD. control de concurrenciaBD. control de concurrencia
BD. control de concurrencia
 
Proceso Unificado De Rational
Proceso Unificado De RationalProceso Unificado De Rational
Proceso Unificado De Rational
 
Ieee 1074
Ieee 1074Ieee 1074
Ieee 1074
 
Jasper reports in 3 easy steps
Jasper reports in 3 easy stepsJasper reports in 3 easy steps
Jasper reports in 3 easy steps
 
Sesion12-Componentes AWT
Sesion12-Componentes AWTSesion12-Componentes AWT
Sesion12-Componentes AWT
 
CRUD html php mysql
CRUD html php mysqlCRUD html php mysql
CRUD html php mysql
 
Control de Versiones - Uso de CVS en proyectos .NET
Control de Versiones - Uso de CVS en proyectos .NETControl de Versiones - Uso de CVS en proyectos .NET
Control de Versiones - Uso de CVS en proyectos .NET
 
MODELO VISTA CONTROLADOR
MODELO VISTA CONTROLADORMODELO VISTA CONTROLADOR
MODELO VISTA CONTROLADOR
 
Laravel Eloquent ORM
Laravel Eloquent ORMLaravel Eloquent ORM
Laravel Eloquent ORM
 
cliente servidor
cliente servidorcliente servidor
cliente servidor
 
Declarative Clients in Spring
Declarative Clients in SpringDeclarative Clients in Spring
Declarative Clients in Spring
 
Rup (iteraciones)
Rup (iteraciones)Rup (iteraciones)
Rup (iteraciones)
 
Qué es un documento de requerimientos
Qué es un documento de requerimientosQué es un documento de requerimientos
Qué es un documento de requerimientos
 
Ejemplo de Trigger en Mysql
Ejemplo de Trigger en MysqlEjemplo de Trigger en Mysql
Ejemplo de Trigger en Mysql
 

Destacado

Jsp(java server pages)
Jsp(java server pages)Jsp(java server pages)
Jsp(java server pages)diegob1098
 
E front diapositivas
E front diapositivasE front diapositivas
E front diapositivasEdnna Ciceri
 
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
 
LENGUAJE DE PROGRAMACION R
LENGUAJE DE PROGRAMACION RLENGUAJE DE PROGRAMACION R
LENGUAJE DE PROGRAMACION RShirley Armas
 

Destacado (20)

Innovaciones tecnológicas
Innovaciones tecnológicasInnovaciones tecnológicas
Innovaciones tecnológicas
 
Jsp(java server pages)
Jsp(java server pages)Jsp(java server pages)
Jsp(java server pages)
 
Lenguaje de Programación Ruby
Lenguaje de Programación RubyLenguaje de Programación Ruby
Lenguaje de Programación Ruby
 
Exposicion JSF
Exposicion JSFExposicion JSF
Exposicion JSF
 
E front diapositivas
E front diapositivasE front diapositivas
E front diapositivas
 
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
 
Servlet
ServletServlet
Servlet
 
Base datos
Base datosBase datos
Base datos
 
Bootstrap
BootstrapBootstrap
Bootstrap
 
LENGUAJE DE PROGRAMACION R
LENGUAJE DE PROGRAMACION RLENGUAJE DE PROGRAMACION R
LENGUAJE DE PROGRAMACION R
 

Similar a Servlets exposicion

[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 javaEudris Cabrera
 
Introducción a Tomcat
Introducción a TomcatIntroducción a Tomcat
Introducción a TomcatIker Canarias
 
[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 JavaEudris Cabrera
 
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 JavaEudris Cabrera
 
Programacion web java
Programacion web javaProgramacion web java
Programacion web javaCésar Ocampo
 
Programación en Internet
Programación en InternetProgramación en Internet
Programación en InternetFernando Solis
 
Manual programacion - java - jsp & xml
Manual   programacion - java - jsp & xmlManual   programacion - java - jsp & xml
Manual programacion - java - jsp & xmlgilhorak
 
2. Java Servlets (J2EE) - Curso 2005-2006
2. Java Servlets (J2EE) - Curso 2005-20062. Java Servlets (J2EE) - Curso 2005-2006
2. Java Servlets (J2EE) - Curso 2005-2006Samuel Marrero
 
[ES] Conectividad de java a base de datos(jdbc)
[ES] Conectividad de java a base  de datos(jdbc)[ES] Conectividad de java a base  de datos(jdbc)
[ES] Conectividad de java a base de datos(jdbc)Eudris Cabrera
 

Similar a Servlets exposicion (20)

20001215 Programación de Servlets y WML
20001215   Programación de Servlets y WML20001215   Programación de Servlets y WML
20001215 Programación de Servlets y WML
 
[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
 
servlets
servlets servlets
servlets
 
Servlets
ServletsServlets
Servlets
 
Introducción a Tomcat
Introducción a TomcatIntroducción a Tomcat
Introducción a Tomcat
 
[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
 
Java servlet
Java servletJava servlet
Java servlet
 
Eclipse
EclipseEclipse
Eclipse
 
presenjava.ppt
presenjava.pptpresenjava.ppt
presenjava.ppt
 
JSP
JSPJSP
JSP
 
Programacion web java
Programacion web javaProgramacion web java
Programacion web java
 
Charla
CharlaCharla
Charla
 
Programación en Internet
Programación en InternetProgramación en Internet
Programación en Internet
 
Manual programacion - java - jsp & xml
Manual   programacion - java - jsp & xmlManual   programacion - java - jsp & xml
Manual programacion - java - jsp & xml
 
Servidores
ServidoresServidores
Servidores
 
Struts en Java
Struts en JavaStruts en Java
Struts en Java
 
2. Java Servlets (J2EE) - Curso 2005-2006
2. Java Servlets (J2EE) - Curso 2005-20062. Java Servlets (J2EE) - Curso 2005-2006
2. Java Servlets (J2EE) - Curso 2005-2006
 
[ES] Conectividad de java a base de datos(jdbc)
[ES] Conectividad de java a base  de datos(jdbc)[ES] Conectividad de java a base  de datos(jdbc)
[ES] Conectividad de java a base de datos(jdbc)
 
algorimo distribuidos
algorimo distribuidosalgorimo distribuidos
algorimo distribuidos
 

Más de Flashnet S.A

Revista Colombiana de Telecomunicaciones
Revista Colombiana de TelecomunicacionesRevista Colombiana de Telecomunicaciones
Revista Colombiana de TelecomunicacionesFlashnet S.A
 
Cgi mi presentacion
Cgi mi presentacionCgi mi presentacion
Cgi mi presentacionFlashnet S.A
 
Interfaces de usuario con awt
Interfaces de usuario con awtInterfaces de usuario con awt
Interfaces de usuario con awtFlashnet S.A
 
Tecnología work flow
Tecnología work flowTecnología work flow
Tecnología work flowFlashnet S.A
 
INTERFACES DE COMUNICACIÓN
INTERFACES DE COMUNICACIÓNINTERFACES DE COMUNICACIÓN
INTERFACES DE COMUNICACIÓNFlashnet S.A
 
Se denomina línea
Se denomina líneaSe denomina línea
Se denomina líneaFlashnet S.A
 

Más de Flashnet S.A (9)

Revista Colombiana de Telecomunicaciones
Revista Colombiana de TelecomunicacionesRevista Colombiana de Telecomunicaciones
Revista Colombiana de Telecomunicaciones
 
Practica de aples
Practica de aplesPractica de aples
Practica de aples
 
Servidor web
Servidor webServidor web
Servidor web
 
Cgi mi presentacion
Cgi mi presentacionCgi mi presentacion
Cgi mi presentacion
 
Interfaces de usuario con awt
Interfaces de usuario con awtInterfaces de usuario con awt
Interfaces de usuario con awt
 
Java
JavaJava
Java
 
Tecnología work flow
Tecnología work flowTecnología work flow
Tecnología work flow
 
INTERFACES DE COMUNICACIÓN
INTERFACES DE COMUNICACIÓNINTERFACES DE COMUNICACIÓN
INTERFACES DE COMUNICACIÓN
 
Se denomina línea
Se denomina líneaSe denomina línea
Se denomina línea
 

Servlets exposicion

  • 1. UNIVERSIDAD NACIONAL DE CHIMBORAZO Escuela de Sistemas y Computación Facultad de Ingeniería Escuela de Sistemas y computación SERVLETS Por: Maggy Naranjo Rocío Yambay Juan C. Moyota 1
  • 2. INTRODUCCIÓN Escuela de Sistemas y Computación  Los servlets son el equivalente en tecnología Java a la programación CGI. Se trata de programas que se ejecutan en un servidor actuando como una capa middleware.  Las clases del servlet no se cargan varias veces en memoria(como ocurría con CGI) ocupando por lo tanto menos recursos. Sólo hay un proceso corriendo en la maquina virtual de java manejando cada petición como una hebra.  Los servlets son persistentes, una vez cargado el servlet permanece en memoria para subsiguientes peticiones. 2
  • 3. VENTAJAS  Eficiencia.- Con CGI tradicional, se arranca un nuevo proceso para cada solicitud HTTP. Con los Servlets, la máquina Virtual Java permanece arrancada, y cada Escuela de Sistemas y Computación petición es manejada por un thread Java de peso ligero, no un pesado proceso del sistema operativo.  Conveniencia.- Los Servlets tienen una gran infraestructura para análisis automático y decodificación de datos de formularios HTML, leer y seleccionar cabeceras HTTP, manejar cookies, seguimiento de sesiones, y muchas otras utilidades.  Potencia.- Los servlets pueden comunicar directamente con el servidor Web. Los Servlets también pueden compartir los datos entre ellos, haciendo las cosas útiles como almacenes de conexiones a bases de datos fáciles de implementar. 3
  • 4. VENTAJAS  Portable.- Los Servlets están escritos en Java y siguen un API bien estándarizado. Escuela de Sistemas y Computación Consecuentemente, los servlets escritos, digamos en el servidor I-Planet Enterprise, se pueden ejecutar sin modificarse en Apache, Microsoft IIS, o WebStar.  Barato.- Hay un número de servidores Web gratuitos o muy baratos que son buenos para el uso "personal" o el uso en sitesWeb de bajo nivel. Sin embargo, con la excepción de Apache, que es gratuito, la mayoría de los servidores Web comerciales son relativamente caros. 4
  • 5. CARACTERÍSTICAS  Son independientes del servidor utilizado y de su sistema operativo, lo que quiere decir que a pesar de estar escritos en Java, el servidor puede estar escrito Escuela de Sistemas y Computación en cualquier lenguaje de programación.  Los servlets pueden llamar a otros servlets, e incluso a métodos concretos de otros servlets.  Los servlets pueden obtener fácilmente información acerca del cliente (la permitida por el protocolo HTTP), tal como su dirección IP, el puerto que se utiliza en la llamada, el método utilizado (GET, POST), etc.  Permiten además la utilización de cookies y sesiones, de forma que se puede guardar información específica acerca de un usuario determinado. 5
  • 6. CARACTERÍSTICAS  Los servlets pueden actuar como enlace entre el cliente y una o varias bases de datos en arquitecturas cliente- servidor de 3 capas (si la base de datos está en un Escuela de Sistemas y Computación servidor distinto).  Pueden realizar tareas de proxy para un applet. Debido a las restricciones de seguridad, un applet no puede acceder directamente por ejemplo a un servidor de datos localizado en cualquier máquina remota, pero el servlet sí puede hacerlo de su parte.  Al igual que los programas CGI, los servlets permiten la generación dinámica de código HTML dentro de una propia página HTML. Así, pueden emplearse servlets para la creación de contadores, banners, etc. 6
  • 7. ESQUEMA DE FUNCIONAMIENTO DE LOS SERVLET Escuela de Sistemas y Computación 7
  • 8. TOMCAT  El proyecto Jakarta crea y mantiene soluciones de código abierto sobre la plataforma java para su Escuela de Sistemas y Computación libre distribución. Es un proyecto colaborativo de la Fundación de Software Apache (ASF).  Tomcat es un proyecto desarrollado por Jakarta que es una implementación de referencia de las tecnologías Java Servlet y JavaServer Pages (JSP). 8
  • 9. TOMCAT 5.5.35 Tomcat incluye en servidor de paginas web: Escuela de Sistemas y Computación 9
  • 10. ESTRUCTURA DE LOS SERVLETS  Para la creación de nuestros archivos servlet se consideran tres herramientas como: Escuela de Sistemas y Computación  Apache Tomcat  J2SE 1.7 (máquina virtual de Java)  IDE JCreator  Las clases para manejar los servlets se encuentran en los directorios de Tomcat mas no en la maquina virtual de Java J2SE. 10
  • 11. CONSTRUCCIÓN DE UN SERVLET  Configuración de las variables de entorno en el sistema. Escuela de Sistemas y Computación  Construcción de la aplicación servlet en el IDE JCreator.  Para generar el archivo .class simplemente ejecutamos desde el programa, esta acción nos generará el archivo class.  Configuración del servlet en Tomcat. 11
  • 12. ASPECTO IMPORTANTE EN EL ARCHIVO WEB.XML  <servlet> Escuela de Sistemas y Computación  <servlet-name>ultimo</servlet-name>  <servlet-class>ultimo</servlet-class>  </servlet>  <servlet-mapping>  <servlet-name>ultimo</servlet-name>  <url-pattern>/servlet/ultimo</url-pattern>  </servlet-mapping>  Para ejecutar tecleamos en el explorador de internet http://localhost:8080/servlets-examples/servlet/ultimo 12
  • 13. COMANDOS  ServletContext permite a los servlets acceder a información sobre el entorno en que se están ejecutando.  ServletConfig define métodos que permiten pasar al servlet Escuela de Sistemas y Computación información sobre sus parámetros de inicialización.  ServletRequest permite al método service() de GenericServlet obtener información sobre una petición de servicio recibida de un cliente.  ServletResponse permite al método service() de GenericServlet enviar su respuesta al cliente que ha solicitado el servicio.  HttpServletRequest deriva de ServletRequest. Esta interface permite a los métodos service(), doPost(), doGet(), etc. de la clase HttpServlet recibir una petición de servicio HTTP.  HttpServletResponse extiende ServletResponse. A través de esta interface los métodos de HttpServlet envían información a los clientes que les han pedido algún servicio. 13
  • 14. CÓDIGO DE UN SERVLET import java.io.*; import javax.servlet.*; import javax.servlet.http.*; Escuela de Sistemas y Computación public class servlet extends HttpServlet { public void doGet(HttpServletRequest peticion, HttpServletResponse respuesta) throws ServletException, IOException { PrintWriter impresor; impresor=respuesta.getWriter(); impresor.println("UNIVERSIDAD NACIONAL DE CHIMBORAZO"); } } 14
  • 15. Escuela de Sistemas y Computación 15