aplicaciones web m.c. jorge eduardo ibarra esquer jorgeeie@uabc.mx

Post on 29-Jan-2016

219 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Aplicaciones WebM.C. Jorge Eduardo Ibarra Esquer

jorgeeie@uabc.mx

El Protocolo de Transferencia de Hipertexto HTTP HTTP es un protocolo de nivel de aplicación para

sistemas de información distribuidos, colaborativos y de hipermedios.

Es un protocolo genérico, sin estado, que puede utilizarse para muchas otras tareas distintas de la de transferencia de hipertexto, por medio de la extensión de sus métodos, códigos de error y encabezados.

La versión 1.1 de HTTP se define en un documento denominado RFC 2616, disponible en http://www.w3c.org/Protocols/

El Protocolo de Transferencia de Hipertexto HTTP HTTP permite el intercambio de datos en el

Web, entre navegadores y servidores Cuando se utiliza HTTP, el servidor siempre

responderá a una solicitud enviada por un cliente (navegador)

Los métodos de HTTP

HTTP/1.1 proporciona los siguientes 7 métodos GET POST PUT DELETE TRACE OPTIONS HEAD

Solicitudes HTTP

GET /appweb/index.jsp HTTP/1.1 Accept: text/plain; text/html Accept-Language: en-gb Connection: Keep-Alive Host: localhost Referer: http://localhost/appweb/prueba.jsp User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows 98) Content-Length: 44 Content-Type: application/x-www-form-urlencodedAccept-Encoding: gzip, deflate

Nombre=Jorge+Ibarra&email=jorgeeie%40uabc.mx

Respuestas HTTPHTTP/1.1 200 OK Server: Microsoft-IIS/4.0 Date: Mon, 3 May 2006 13:13:33 GMT Content-Type: text/html Last-Modified: Mon, 11 Jan 1998 13:23:42 GMT Content-Length: 112

<HTML> <HEAD> <TITLE>HTTP Response Example</TITLE></HEAD>

<BODY> Welcome to Brainy Software </BODY></HTML>

Arquitectura de sistemas de software

Una aplicación de software bien diseñada, se particiona en partes lógicas denominadas capas

Cada una de estas capas tiene una responsabilidad diferente en la arquitectura global de la aplicación

Dichas capas son abstracciones puras, y no necesariamente corresponden a una distribución física

Arquitectura de sistemas de software

Algunas capas típicas son: Presentación: Se encarga de la interfaz de usuario

y de la interacción con el usuario Lógica de negocio: Contiene los componentes

encargados de la lógica de la aplicación Datos: Normalmente consiste de una o más bases

de datos donde se almacena la información

Distintas arquitecturas

Dos capas Tres capas

Aplicación Web

Aplicación J2EE

Contenedores Web

Servidores Web: Son programas que utilizan el protocolo HTTP, en forma de una aplicación cliente-servidor, para proporcionar las páginas, scripts, programas y archivos multimedia que forman una página Web

Dos de los servidores Web más populares son Apache y Microsoft Internet Information Services

Contenedores Web

Tomcat – Es un contenedor de Servlets. Contiene las implementaciones de referencia para las tecnologías de Servlets y JSP

JBoss – Contiene la implementación de los Enterprise Java Beans (EJB). Es un contenedor de aplicaciones J2EE

Temas Servlets JSP JBoss

Servlets

Los Servlets son aplicaciones escritas en Java que funcionan como una capa intermedia entre una solicitud HTTP y una base de datos o algún otro tipo de aplicación que se ejecuta en un servidor

Los Servlets se ejecutan dentro de un contenedor de Servlets

Funcionamiento de los Servlets

Leer los datos enviados por el usuarioObtener cualquier otra información que esté incluída en la solicitud HTTPGenerar los resultadosCodificar los resultadosEstablecer los parámetros de la respuestaEnviar el documento de regreso al cliente

¿Cuándo utilizar Servlets?

En ocasiones, una respuesta estática de parte de un servidor, no será suficiente para cumplir con el propósito de la aplicación

En estos casos, se debe construir una respuesta diferente para cada solicitud que se realice

¿Cuándo utilizar Servlets?

Algunos casos en los que puede ser necesario construir páginas “al vuelo”, son los siguientes: La página se genera de acuerdo a información

proporcionada por el usuario La información con la que se genera la página está

cambiando frecuentemente La página utiliza información de bases de datos u

otros recursos disponibles del lado del servidor

Construyendo un Servlet

Para crear servlets, se utilizan las clases contenidas en los paquetes javax.servlet y javax.servlet.http

Estos paquetes forman parte de la plataforma J2EE - Java 2 Enterprise Edition

La documentación del API de J2EE 1.4, se encuentra disponible en http://java.sun.com/j2ee/1.4/docs/api/index.html

La clase javax.servlet.GenericServlet Permite construir un Servlet genérico,

independiente de protocolo public void init() throws ServletException

public abstract void service(ServletRequest req, ServletResponse res) throws ServletException, IOException

public void destroy()

La clase javax.servlet.http.HttpServlet

public void init() throws ServletException

public abstract void service(ServletRequest req, ServletResponse res) throws ServletException, IOException

HttpServlet

public void doGet(HttpServletRequest request, HttpServletResponse response)

public void doPost(HttpServletRequest request, HttpServletResponse response)

HttpServletRequest

A través de las solicitudes podemos obtener los parámetros enviados en el URL del servlet, utilizando el método: String getParameter(String nombre)

HttpServletResponse

Algunos métodos importantes de la respuesta, son: PrintWriter getWriter() void setContentType(String tipo)

top related