Manual
básico de ASP
Introducción.-
Comenzamos en HTMLWeb una nueva sección, la de programación de paginas web, y la iniciamos consiste manual introductorio, que llega hasta nosotros gracias a la colaboración de elguruprogramador.com. Muchas gracias por ayudarnos a ampliar nuestros conocimientos sobre programación de paginas web.
En este manual vamos a ver algunas de las características más importantes de esta tecnología, y para comenzar por buen camino hay que entender algunos conceptos básicos:
- La sigla ASP significa Active Server Pages.
- Microsoft es el creador.
- Se ejecuta en el servidor donde esta alojada la pagina web.
- El cliente (navegador del usuario) no nota diferencias con una pagina normal (HTML).
- Por medio de ASP se puede tener acceso a bases de datos.
- Para su implementación se utiliza lenguaje script como VBScript o JScript.
- Se puede utilizar HTML y ASP en una misma pagina.
- Es totalmente ampliable gracias a que es compatible con la tecnología ActiveX.
Como Funciona
Aquí están pasa a paso como funciona una pagina ASP.
- Un usuario por medio del navegador solicita una pagina ASP.
- Esta solicitud llega al servidor el cual tiene alojada la pagina pedida.
- Este servidor procesa la pagina ASP y devuelve código HTML.
- El usuario visualiza la pagina en su navegador.
Noten que para el usuario no existe diferencia en ASP y HTML por que a su navegador siempre llega código HTML puro, el único que requiere un trabajo extra es el servidor el cual tiene que procesar el código ASP y trasformarlo en HTML para su posterior envío al cliente.
Como utilizarlo
Para utilizarlo nesecitamos un servidor que procese nuestras paginas ASP, para ello existe el Internet Information Sever bajo Windows NT o 2000 y bajo Windows 95/98 esta el Personal Web Server que viene el CD de Instalación de Windows 98 o en el CD del Visual Studio.
Personal Web Server
El Personal Web Server es un servidor que nos permite trabajar con paginas ASP en nuestra PC sin necesidad de subir las paginas ASP al servidor para realizar las pruebas, es decir, armamos todo el sitio en nuestra PC, lo probamos con el Personal Web Server (PWS) y si todo va bien lo subimos.
Para utilizar el PWS necesitamos tener Windows 95/98/Me, si tenemos como SO Windows NT o 2000 también podemos utilizar el PWS pero en este caso es preferible utilizar Internet Information Server (IIS) dado que es mas funcional y robusto. Pueden conseguir el PWS desde el sitio de Microsoft o en los CDs de Instalación de Windows 98, Visual Basic o Visual Studio.
A la hora de instalar el PWS hay que seguir los pasos de una instalación típica de un programa, pero hay que prestar atención en el momento que nos pide el directorio de publicación web, es decir el directorio en donde se guardaran nuestras paginas web se puede dejar el que nos ofrece el PWS por defecto o lo podemos modificar, si lo modificamos, por ejemplo ponemos que el directorio de publicación web es "C:\Paginas Webs" tenemos que guardar nuestras pagina dentro de este directo.
Una ves instalado reiniciamos
Bueno una ves abierto el PWS nos vamos al sector llamado "Avanzada" desde aca configuramos las opciones avanzadas del servidor, lo mas importante es la configuración del directorio, seleccionamos "Home" y hacemos click en "Modificar Propiedades", aquí seleccionamos el directorio que habíamos elegido como publicación web, apretamos "Aceptar" y volvemos a las opciones avanzadas. Ahora destildamos "Habitar Documento Predeterminado" y habilitamos "Permitir Exploración de directorios", volvemos a la sección "Principal" y hacemos click en el link para abrir nuestro site.
VBScript.-
Por medio de VBScript podemos crear nuestras
paginas ASP, debemos tener en cuenta que antes de escribir cualquier codigo ASP debemos abrir nuestro codigo
con el simbolo '<%' y al finalizar cerrarlo
con '%>'
|
|
Podemos abrir archivo
nuevo agregarle el codigo anterior guardarlo como
"hola.asp" dentro de nuestro directorio de publicacion web abrir el PWS y ver
el resultado en el navegador.
VBScript es un lenguaje script
derivado de Visual Basic asi que tambien
hereda sus funciones basicas a continuacion
veremos algunas de las mas utilizadas.
VBScript - Funciones Basicas
Si estas familiarizado con
Visual Basic podes pasar esta parte dado que los funciones basicas
son iguales en ambos lenguajes, y si no conoces Visual Basic aca va una ayuda.
Variables
La forma de declaran
variables es por medio de la palabra 'Dim', aclaremos
que la declaracion de variables no es necesaria,
salvo que al inicio de nuestra pagina ASP pongamos la palabra clave 'Option Explicit' que hace que la declaracion de variables sea necesaria si no nos daria un error.
|
|
Condicionales
El condicional mas
utilizado en cualquier lenguaje es el famoso IF, VBScript
no podia quedarse afuera, el modo de uso es poner la
palabra clave 'If' despues
la condicion a evaluar, luego 'Then'
y el codigo a ejecutar si se cumple la condicion dada, al finalizar se cierra el bloque 'If' con la palabra clave 'End If'
|
|
Tambien extiste la
alternativa 'Else' (sino), es decir sino se cumple la
condicion hacer lo siguiente, veamos un ejemplo
|
|
Fijense que pusimos 'I = 14' tambien podemos hacer otro tipo de condición como puede ser
distinto 'I <> 14', mayor 'I > 14', menor 'I < 14', mayor o igual
'I >= 14', menor o igual 'I <= 14'
Bucles
VBScript posee un bucle llamador 'For' que repite una accion la
cantidad de veces indicada
|
|
Podemos modificar el
numero 5 y poner un 10 y lo repetirá 10 veces, también podemos modificar el
numero 1 por el 3 y el 5 por el 6, esto hará que el bucle se repita 3 veces, '3
to 6' (desde 3 hasta 6), también podemos indicar el
incremento que tendrá por medio de la palabra clave 'step'
|
|
Gracias a esto podemos
hacer un bucle inverso por ejemplo de
|
|
La palabra clave 'Next' indica el final del bucle, es decir se repite todo lo
que esta entre el 'For' y 'Next'
While...Wend
Este bucle a diferencia
del 'For' repite una acción siempre que se cumpla una
condición, veamos un ejemplo
|
|
Cuando agregamos la
palabra clave 'Wend' estamos diciendo que repita todo
el código incluido entre While y Wend.
El objeto Response.-
Este objeto ASP es del tipo
integrado, es decir no tenemos que crear una instancia del mismo para poder
utilizarlo, su funcion es enviar informacion
al cliente (navegador).
Las principales
propiedades del objeto Response son:
|
Buffer |
|
|
|
Esta propiedad es del tipo boolean (true/false) e indica si la pagina se alamacena en el buffer del servidor antes de ser enviada, es decir si esta true envia la pagina al cliente recien cuando este toda cargada y si esta false la envia a medida que la procesa. Se debe utilizar antes de haver enviado algun resultado al cliente. Si el servidor utilizado tiene la version de ASP 2.0 el valor predeterminado de esta propiedad es false y en cambio la version es la 3.0 (Windows 2000) el valor predeterminado es true. |
|
|
|
Ejemplo |
|
|
|
|
|
Expires |
|
|
|
Esta propiedad indica el tiempo, en minutos, que la pagina se guarda el el cache del navegador, si este valor se pone a 0 no se utiliza el cache del navegador |
|
|
|
Ejemplo |
|
|
|
|
|
ExpiresAbsolute |
|
|
|
Esta propiedad indica hasta que dia y hora la pagina se guarda en el cache del navegador. |
|
|
|
Ejemplo |
|
|
|
|
|
Cookies |
|
|
|
Crea una cookie en la maquina del usuario. Una cookies es un archivo con formato de texto en el cual el se puede guardar informacion. Las cookies por lo general se utilizan para controles de acceso, personalizacion de paginas y estadisticas. El siguiente ejemplo crea una cookie llamada 'fecha' la cual contiene el valor devuelto por la funcion 'date' que nos devuelve la fecha actual |
|
|
|
Ejemplo |
|
|
|
|
|
|
|
Esta cookie se mantiene en la maquina del usuario hasta que termine su session, borre las del navegador o se cumpla el tiempo establecido para esa cookies, a continuacion veremos la forma de establecer la duracion de una cookie |
|
|
|
|
|
|
|
Esto hace que la cookie se borre en la fecha indicada, si creamos otra cookie llamada 'fecha' esta sobreescribira a la otra, si queres ver la forma de recuperar el valor de una cookie hace click aqui. |
|
|
Y los principales mitodos de este objeto son:
|
End |
|
|
|
Este metodo detiene el proceso de la pagina ASP y envia lo ya procesado al navegador |
|
|
|
Ejemplo |
|
|
|
|
|
Flush |
|
|
|
Este metodo envia el contenido del buffer al navegador siempre y cuando la propiedad Buffer se true, si la propiedad Buffer es igual a false se producira un error |
|
|
|
Ejemplo |
|
|
|
|
|
Redirect (cadena_url) |
|
|
|
Este metodo redirecciona la pagina actual a la pasada como parametro. |
|
|
|
Ejemplo |
|
|
|
|
|
Write (cadena) |
|
|
|
Este metodo escribe en el navegador la cadena padada como parametro, tengan en cuenta que tambien se pueden enviar etiquetas HTML y concatenar variable con el operador & (VBScript). |
|
|
|
Ejemplo |
|
|
|
|
El objeto Request.-
Este objeto ASP es del tipo integrado, es decir no tenemos que crear una instancia del mismo para poder utilizarlo, por medio de este objeto podes tener acceso a la informacion que el navegador pasa al servidor.
Las principales propiedades del objeto Request son:
|
Form |
|
|
|
Esta propiedad es una coleccion que contiene todos los elementos de un formulario (<form>) pasado al archivo ASP con el metodo POST (<form method='post'>), la forma de acceder a el valor de un elemento del formulario es la siguiente... |
|
|
|
|
|
|
|
Ejemplo |
|
|
|
|
|
Cookies |
|
|
|
Recupera una cookie almacenada en la maquina del usuario. Una cookies es un archivo con formato de texto en el cual el se puede guardar informacion. Las cookies por lo general se utilizan para controles de acceso, personalizacion de paginas y estadisticas. El siguiente ejemplo recupera la cookie llamada 'fecha' que creamos anteriormente. |
|
|
|
Ejemplo |
|
|
|
|
|
|
|
Debido a la natualeza de las cookies y a que nunca podemos garantizar que una cookie almazenada anteriormente todavia exista debemos manejarnos con cautela y no almacenar en ellas datos criticos. |
|
QueryString |
|
|
|
Esta coleccion contiene todos los valores pasados como parametros a una pagina ASP. La formas de pasar parametros a una pagina ASP son varias una es por medio de formularios utilizando el metodo 'GET' y la otra es generandolo 'manualmente'... |
|
|
|
http://www.servidor_xxx.com/pagina_asp.asp?nombre=jose&apellido=perez |
|
|
|
Esa es la manera de pasar parametros a una pagina ASP, luegop del la direccion URL se pone el signo '?' y a continuacion todos los parametros con sus respectivos valores separados por el simbolo '&'. |
|
|
|
Ejemplo |
|
|
|
|
|
ServerVariables |
|
|
|
Esta coleccion nos da acceso a todas las variables de entorno del servidor. |
|
|
|
Ejemplo |
|
|
|
|
El objeto Server.-
Este objeto ASP es del tipo integrado, es decir no tenemos que crear una instancia del mismo para poder utilizarlo, por medio de este objeto podes tener acceso a funciones utiles del servidor.
La propiedad principal del objeto Server es:
|
ScriptTimeout |
|
|
|
Esta propiedad determina el tiempo maximo en segundos que se espera para ejecutar la pagina ASP. Si la pagina tarda mas segundos en ser procesada se produce un error. El valor predeterminado es 90 segundos. |
|
|
|
Ejemplo |
|
|
|
|
Y los principales
métodos de este objeto son:
CreateObject (id_objeto) Este es uno de los metodos mas importantes y nos permite crear objetos a
partir de los cuales vamos a trabajar. Como unico parametro se especifica el nombre del objeto a crear. Al
crear el objeto este se le asigna a la variable establecida por medio de la
palabra clave SET, esta variable hereda todos los metodos,
propiedades y eventos del objeto creado. Ejemplo
<% Set BDD
= Server.CreateObject("ADODB.Connection")
%>
Execute (path) Este metodo
ejecuta una pagina ASP dentro de otra, su unico parametro es la ruta de la pagina a ejecutar. Este metodo solo esta disponible en la version
3.0 de ASP. Ejemplo ----------pagina_llama.asp-------
<HTML>
<BODY>
Hola <%Server.Execute("respuesta.asp")%> !
</BODY>
</HTML>
----------respuesta.asp----------
<%
Response.Write "Pedro"
%>
HTMLEncode (cadena) Este metodo
evita que la cadena pasada como parametro sea
interpretada como lenguaje HTML. Ejemplo <% Response.Write Server.HTMLEncode("<b>sin
negrita</b>") %>
MapPath (path) Devuelve la ruta completa
del archivo pasado como parametro. Ejemplo
<% Response.Write
Server.MapPath("calendario\dias.asp")
%>
El objeto Session.-
Este objeto ASP es del tipo integrado, es decir no tenemos que crear una instancia del mismo para poder utilizarlo, el mismo sireve para compartir informacion de un usuario entre las paginas del sitio. Por defecto el objeto session se crea al ingresar el usuario a nuestro sitio y se destruye cuando lo abandona o cuando pasan 20 minutos sin actividad del usuario.
Entre las propiedades del objeto Session
destacan:
SessionID Esta propiedad devuelve un
ID que identifica a un usuario. Este ID es unico, no
se puede modificar y lo crea automaticamente el
servidor. Ejemplo <%
Response.Write "ID Session
= " & Session.SessionID %>
Timeout Esta propiedad determina el
tiempo en minutos que durara la sesion del usuario
antes de ser destruida, por defecto su valos es de 20
minitos. Ejemplo <%
Session.Timeout = 30 %>
Y como principalmétodo
de este objeto podemos señalar:
Abandon Este metodo
proboca el abandono forzado de la session,
destruye todas las variables de sesion.
Ejemplo
<%Session.Abandon
%>
Variables de
sesión.-
Una utilidad muy buena que nos permite el objeto session
es crear variables y poder compartirlas en todas la paginas de nuestro sitio
algo asi como una variable global pero con una
diferencia bastante grande dado que cada usuario que ingrese a nuestra pagina tendra un valor distinto en cada variable. En el ejemplo
que sigue a continuacion se muestra la forma de uso.
Ejemplo ----------pagina_1.asp-------
<HTML>
<BODY>
<%Session("Dia") = "Lunes"%>
</BODY>
</HTML>
----------pagina_2.asp----------
<%
Response.Write Session("Dia")
%>
Acceso a bases de datos mediante ASP.-
Esta es una breve explicacion de como utilizar ASP para tener acceso a una
base de datos, lo primero que debemos crear es la base de datos, en este caso
de Access con el nombre de 'temas.mdb', ahora dentro de esta base de datos
crearemos una tabla llamada 'TemasMusicales' y que
tenga los siguientes campos...
|
CAMPOS |
TIPOS DE DATOS |
|
Id |
Autonumerico |
|
Titulo |
Texto |
|
Genero |
Texto |
Ingresale algunos datos para poder
utilizarla. Bueno ya tenemos la base de datos con informacion
adentro, lo que vamos a hacer ahora es desde ASP ver todo el contenido de la
tabla que hemos creado. Para ello creamos un archivo ASP con el nombre 'muestra_temas.asp' y en su interior agregamos el siguiente codigo...
|
|
Bueno con este codigo se pueden ver todos los datos que contiene nuestra
base de datos, para mas informacion lee los articulos escritos por El Guru
sobre ASP.
Introduccion al SQL
Esta es una breve introduccion al lenguaje de consultas estructuradas SQL,
solo veremos como realizar consultas sobre una tabla de una base de datos.
Primero veamos el formato de la tabla de Access con la que vamos a trabajar
|
CAMPOS |
TIPOS DE DATOS |
|
Id |
Autonumerico |
|
Marca |
Texto |
|
Color |
Texto |
Esta tabla llevara el
nombre de 'Autos' y en su interior contendra la informacion de una cantidad X de autos, te recomiendo que llenes
la tabla con datos, podes repetir las marcas y los colores.
|
|
Noten que declaramos una
variable llamada 'SQL' en la cual vamos a poner la cadena que forme la consulta
a la tabla 'Autos', asi que entre el codigo anterior y el que esta a continuacion
deben asignarle a la variable 'SQL' la consulta a realizar.
|
|
Bueno, realizaremos
nuestra primer consulta, seleccionaremos todos los autos de color rojo, para esto
tenemos que armar la consulta, recuerden que el codigo
que hay a continuacion va entre medio de los 2
anteriores
|
|
Bien, expliquemos esto,
"SELECT * ..." significa seleccionar todos
los campos (*), "FROM Autos..." desde la tabla Autos "WHERE
Color = 'Rojo'" donde color es igual a Rojo.
Como ves es bastante intuitivo y legible, si sabes ingles mucho mas. Ahora
realizaremos una consulta buscando todos los autos de marca BMW.
|
|
Facil no. Ahora veamos como hacer si
queremos seleccionar todos los autos BMW de color Rojo
|
|
Noten que agregamos el
operador AND (Y) es decir, Color igual a rojo Y con la marca BMW, ahora
veamos lo contrario, buscaremos todos los BMW pero que no sean de color rojo
|
|
Y si queremos que todo
esto aparesca ordenado debemos agregar la palabra
'ORDER BY' y especificar el campo por el cual queremos ordenar
|
|
Podemos especificar mas de un campo para ordenar, para esto debemos separarlos
por comas
|
|
Y la forma de mostrarlos,
ascendente o descendente
|
|