aplicaciones web m.c. jorge eduardo ibarra esquer jorgeeie@uabc.mx
Post on 29-Jan-2016
218 Views
Preview:
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