Post on 21-Apr-2015
Formularios en lenguaje HTML
7 de Abril de 2006
Índice
• Generalidades• Definición en HTML• Elementos• Formas de envío: métodos GET y POST• Recepción y tratamiento de la
información– CGI’s y Servlets
Índice
• Generalidades• Definición en HTML• Elementos• Formas de envío: métodos GET y POST• Recepción y tratamiento de la
información– CGI’s y Servlets
Generalidades
• Hipertexto– Cierta interactividad mediante la solicitud
de distintos contenidos
• Formularios– Posibilidad de que el usuario envíe datos al
servidor (datos personales, sugerencias, ...)
• Estructura:– Elementos de entrada de datos– Botón de envío (Submit)– Método de envío de datos– Acción que el servidor debe emprender
cuando reciba los datos
Generalidades
Cliente Servidor
Respuesta HTML
QUERY STRING
Servidor HTTP
CGI(Common Gateway
Interface)
BASE DE DATOS
QUERY STRIN
G
Respuesta HTML
Índice
• Generalidades• Definición en HTML• Elementos• Formas de envío: métodos GET y POST• Recepción y tratamiento de la
información– CGI’s y Servlets
Definición en HTML
<HTML>
<HEAD><TITLE>Formulario Simple</TITLE></HEAD>
<BODY>
<H2>El formulario más simple</H2>
<FORM name="login" action="http://www.ehu.es/cgi-bin/CGI0.exe"
method="POST" target="_self">
Introduzca su nombre:
<INPUT type="text" name="nombre" size="25"><BR><BR>
<INPUT type="submit" value="Enviar">
<INPUT type="reset" value="Borrar">
</FORM>
</BODY>
</HTML>
Índice
• Generalidades• Definición en HTML• Elementos• Formas de envío: métodos GET y POST• Recepción y tratamiento de la
información– CGI’s y Servlets
Elementos
• Cajas de texto
• Botones
• Casillas de verificación• Botones de radio
• Ventanas de selección simple• Ventanas de selección múltiple
• Normal
• Password
• Multi-linea
• Hidden
• Submit
• Reset
• Genérico
• Desplegables
• De Scroll
EjemploCajasTextoyBotones
EjemploCasillasyBotonesRadio
EjemploVentanas
Índice
• Generalidades• Definición en HTML• Elementos• Formas de envío: métodos GET y
POST• Recepción y tratamiento de la
información– CGI’s y Servlets
Formas de envío
• Métodos más usados: GET y POST• GET
– Designado para obtener información (un documento, un gráfico o el resultado de la consulta a una BD)
– Usado al escribir una URL en el navegador
– Usado cuando se clica en un hiperlink
• POST– Designado para enviar información (un
nº de tarjeta de crédito, nuevos datos o información para guardar en una BD)
• Cualquiera de los dos puede usarse cuando se envía un formulario HTML
Método GET
• Puede incluir parámetros en el URL
• Secuencia de caracteres añadida a la URL:– QUERY STRING
• No es muy seguro, ya que los datos viajan junto a la dirección y son vistos por todo el mundo en la barra de direcciones
• El tamaño de la información enviada estará limitada
• La URL puede ser guardada o enviada por e-mail
http://www.vc.ehu.es/jiwotvim/IngenieriaSoftware/Herramientas/cedt370r.exe?nombre1=valor1&nombre2=valor2
Método POST
• Técnica diferente de envío de información– En algunos casos se necesita enviar Mb
• Características:– A través de una conexión “socket”– Datos como parte del cuerpo de la petición
HTTP– Longitud ilimitada– El intercambio es invisible para el cliente– La URL no cambia en absoluto– La petición no puede ser guardada ni enviada
por e-mail e incluso no puede ser “refrescada”– Ofrece un extra de seguridad puesto que el
“access log” del servidor que guarda las URLs no guarda los datos enviados mediante POST.
Índice
• Generalidades• Definición en HTML• Elementos• Formas de envío: métodos GET y POST• Recepción y tratamiento de la
información– CGI’s y Servlets
Common Gateway Interface (CGI)• Servidor Web pasa la petición a un programa
externo• La salida de este programa se envía al cliente,
en lugar de un archivo estático• Permite la creación de páginas dinámicas• Puede programarse en cualquier lenguaje
Proceso Princip
al
Petición al CGI-2Petición al CGI-1
Petición al CGI-1
Proceso Hijo del CGI-1Proceso Hijo del CGI-2Proceso Hijo del CGI-1
Servidor Web basado en CGI
Java Servlets
• Misma finalidad que los CGIs• Programados en Java• Más sencillos de desarrollar• Ventajas de rendimiento en el
servidor
Petición al Servlet-2
Petición al Servlet-1
Petición al Servlet-1
Proceso Principal
JVM
Servlet-1
Servlet-2
Thread
Servidor Web basado en Java Servlet