|
Introducción a ASP
Este tutorial de ASP a sido escrito enteramente por EL Guru
Programador, cualquier duda, consulta o si deseas publicar
este tutorial en tu sitio web dirígete a
elguru@elguruprogramador.com.ar.
Caracteristicas
Veremos algunas de las caracteristicas mas importantes de
esta tecnologia, las otras las descubriremos a medida que se
avanza en este tutorial.
- 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 implementacion 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 tecnologia ActiveX.
Como Funciona
Aqui estan 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 codigo
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 codigo HTML puro, el
unico que requiere un trabajo extra es el servidor el cual
tiene que procesar el codigo ASP y tranformarlo en HTML para
su posterior envio 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 Instalacion 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 tambien 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 Instalacion de Windows 98, Visual Basic o Visual
Studio.
A la hora de instalar el PWS hay que seguir los pasos de
una instalacion tipica de un programa, pero hay que prestar
atencion en el momento que nos pide el directorio de
publicacion web, es decir el directorio en donde se guardaran
nuestras paginas web se puede dejar el que nos ofrese el PWS
por defecto o lo podemos modificar, si lo modificamos, por
ejemplo ponemos que el directorio de publicacion web es
"C:\Paginas Webs" tenemos que guardar nuestras pagina dentro
de este directo.
Una ves instalado reiniciamos la PC y al volver tendremos
un icono en la barra de notificacion de Windows desde este
icono podemos iniciar el PWS, aclaremos que el PWS tiene dos
estados Iniciado y Detenido, obviamente nuestro sitio solo
funcionara cuando este el PWS iniciado.
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 configuracion del
directorio, seleccionamos "Home" y hacemos click en "Modificar
Propiedades", aqui seleccionamos el directorio que habiamos
elegido como publicacion web, apretamos "Aceptar" y volvemos a
las opciones avanzadas. Ahora destildamos "Habitar Documento
Predeterminado" y habilitamos "Permitir Exploracion de
directorios", volvemos a la seccion "Principal" y hacemos
click en el link para abrir nuestro site.
VBScript - Introduccion
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 '%>'
<%
'este es un comentario
Response.Write ("Mi Primer Pagina ASP")
%> |
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.
<%
Option Explicit
Dim I 'declaramos la variableI= 14 ' le asignamos un
valor
Response.Write (I) 'mostramos su valor en el navegador
%> |
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'
<%
Dim II = 14
If I = 14 Then
Response.Write ("La variable I es igual a 14")
End If
%> |
Tambien extiste la alternativa 'Else' (sino), es decir sino
se cumple la condicion hacer lo siguiente, veamos un ejemplo
<%
Dim II = 14
If I = 14 Then
Response.Write ("La variable I es igual a 14")
Else
Response.Write ("La variable I es distinta a 14")
End If
%> |
Fijense que pusimos 'I = 14' tambien podemos hacer otro
tipo de condicion como puede ser distinto 'I <> 14', mayor 'I
> 14', menor 'I < 14', mayor o igual 'I > = 14', menor o igual
'I <= 14'< /FONT >
Bucles
VBScript posee un bucle llamador 'For' que repite una
accion la cantidad de veces indicada
<%
Dim IFor I = 1 to 5
Response.Write ("Esto se repite 5 veces")
Next
%> |
Podemos modificar el numero 5 y poner un 10 y lo repetira
10 veces, tambien podemos modificar el numero 1 por el 3 y el
5 por el 6, esto hara que el bucle se repita 3 veces, '3 to 6'
(desde 3 hasta 6), tambien podemos indicar el incremento que
tendra por medio de la palabra clave 'step'
<%
Dim IFor I = 1 to 10 step 2
Response.Write ("Esto se repite de dos en dos, i = " & i)
Next
%> |
Gracias a esto podemos hacer un bucle inverso por ejemplo
de 10 a 1
<%
Dim IFor I = 10 to 1 step -1
Response.Write ("i = " & i)
Next
%> |
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 accion siempre
que se cumpla una condicion, veamos un ejemplo
<%
Dim II = 0 'inicializa i igual a 0
While I <> 10 'repita mientras i sea distinto a 10
Response.Write ("i = " & i) 'muestra por pantalla el valor
de i
I = I + 1 'incrementa i en uno
Wend
%> |
Cuando agregamos la palabra clave 'Wend' estamos diciendo
que repita todo el codigo incluido entre While y Wend
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).
PROPIEDADES
| 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 haber 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 |
| |
| <%Response.Buffer = TRUE%> |
| 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 |
| |
| <% Response.Expires = 5%> |
| ExpiresAbsolute |
| |
| Esta propiedad indica hasta que dia y hora
la pagina se guarda en el cache del navegador. |
| |
| Ejemplo |
| |
| <% Response.ExpiresAbsolute=#May 5, 2001 14:30:00# %>
|
| 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 |
| |
| <% Response.Cookies("fecha") = date %> |
| |
| 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 |
| |
| <% Response.cookies("fecha").expires="2/12/2001"%> |
| |
| Esto hace que la cookie se borre en la fecha indicada,
si creamos otra cookie llamada 'fecha' esta sobreescribira
a la otra. |
| |
METODOS
| End |
| |
| Este metodo detiene el proceso de la pagina
ASP y envia lo ya procesado al navegador |
| |
| Ejemplo |
| |
| <%Response.End%> |
| 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 |
| |
| <%Response.Flush%> |
| Redirect (cadena_url) |
| |
| Este metodo redirecciona la pagina actual a
la pasada como parametro. |
| |
| Ejemplo |
| |
| <%Response.Redirect "otra_pagina.asp"%> |
| 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 |
| |
| <%Response.Write ("<b>hola!!!</b>%> |
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.
PROPIEDADES (COLECCIONES)
| 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...< /FONT>< /FONT>< /FONT> |
| |
| <%=Request.Form("nombre_elemento")%> |
| |
| Ejemplo |
| |
--------------formulario.htm----------------
<HTML>
<HEAD>
</HEAD>
<BODY>
<form action="procesa_formulario.asp" method="POST">
Nombre:<input type="Text" name="nombre" maxlength="20"><br>
Apellido:<input type="Text" name="apellido" maxlength="30"><br>
<input type="Submit" name="Submit" value="Enviar">
</form>
</BODY>
</HTML>
--------------procesa_formulario.asp--------
<HTML>
<HEAD>
</HEAD>
<BODY>
<% Response.Write ("nombre:" & Request.Form("nombre"))%>
<% Response.Write ("apellido:" & Request.Form("apellido"))
%>
</BODY>
</HTML> |
| 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 |
| |
| <% Response.Write Request.Cookies("fecha") %> |
| |
| 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 |
| |
-----------------------pasa_parametros.asp-------------------
<HTML>
<HEAD>
</HEAD>
<BODY><BR><AHREF="lee_parametros.asp?nombre=jose">click
aca! </A>
</BODY>
</HTML>
-----------------------lee_parametros.asp----------------------
<%
Response.Write (Request.QueryString("nombre") & "<br>")
%> |
| ServerVariables |
| |
| Esta coleccion nos da acceso a todas las
variables de entorno del servidor. |
| |
| Ejemplo |
| |
<%
Response.Write (Request.ServerVariables("REMOTE_ADDR"))
Response.Write (Request.ServerVariables("SERVER_SOFTWARE"))
%> |
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.
PROPIEDADES
| 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 |
| |
| <% Server.ScriptTimeout = 25 %> |
METODOS
| 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")
%> |
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.
PROPIEDADES
| 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 %> |
METODOS
| Abandon |
| |
| Este metodo proboca el abandono forzado de
la session, destruye todas la
variables de sesion .
|
| |
| Ejemplo |
| |
| <%Session.Abandon %> |
| VARIABLES DE SESION
|
| |
| 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")
%>
|
Bases de Datos - Utilizando ASP y Bases de Datos
Access.
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...
| <% Dim BDD ' variable que se encargara de la base de
datos
Dim TABLA ' variable que se encarga de la tabla
'creamos los objetos que manejan la base de datos y la
tabla
Set BDD = Server.CreateObject("ADODB.Connection")
Set TABLA = Server.CreateObject("ADODB.Recordset")
'abrimos la base de datos
BDD.Open ("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE="
+ Server.MapPath("temas.mdb"))
'abrimos la tabla
TABLA.Open "TemasMusicales", BDD ' indicamos el nombre de
la tabla y la base de datos
'ahora recorremos toda la tabla y mostramoslos datos
While NOT TABLA.EOF 'recorre la tabla hasta que EOF sea
verdadero
Response.Write "titulo:" & TABLA("Titulo") & "<br>"
Response.Write "genero:" & TABLA("Genero") & "<br>"
Wend
'cerramos todo y liberamos los objetos
TABLA.Close
BDD.Close
Set BDD = Nothing
Set TABLA = Nothing
%> |
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.
Bases de Datos - 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.
| <% Dim BDD ' variable que se encargara
de la base de datos
Dim TABLA ' variable que se encarga de la tabla
Dim SQL 'variable que contendra la consulta SQL
'creamos los objetos que manejan la base de datos y la
tabla
Set BDD = Server.CreateObject("ADODB.Connection")
Set TABLA = Server.CreateObject("ADODB.Recordset")
'abrimos la base de datos
BDD.Open ("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE="
+ Server.MapPath("autos.mdb"))
%> |
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.
| <% TABLA.Open SQL, BDD ' hacemos la
consulta
'ahora recorremos toda la tabla y mostramoslos datos
While NOT TABLA.EOF 'recorre la tabla hasta que EOF sea
verdadero
Response.Write "marca:" & TABLA("Titulo") & "<br>"
Response.Write "color:" & TABLA("Genero") & "<br><br>"
Wend
'cerramos todo y liberamos los objetos
TABLA.Close
BDD.Close
Set BDD = Nothing
Set TABLA = Nothing
%> |
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
| SQL = "SELECT * FROM Autos WHERE Color =
'Rojo'" |
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.
| SQL = "SELECT * FROM Autos WHERE Marca =
'BMW'" |
Facil no. Ahora veamos como hacer si queremos seleccionar
todos los autos BMW de color Rojo
| SQL = "SELECT * FROM Autos WHERE Color =
'Rojo' AND Marca = 'BMW'" |
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
| SQL = "SELECT * FROM Autos WHERE Marca =
'BMW' AND NOT 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
| SQL = "SELECT * FROM Autos WHERE Marca =
'BMW' AND NOT Color = 'Rojo' ORDER BY Marca" |
Podemos especificar mas de un campo para ordenar, para esto
debemos separarlos por comas
| SQL = "SELECT * FROM Autos WHERE Marca =
'BMW' AND NOT Color = 'Rojo' ORDER BY Marca, Color" |
Y la forma de mostrarlos, ascendente o descendente
| SQL = "SELECT * FROM Autos WHERE Marca =
'BMW' AND NOT Color = 'Rojo' ORDER BY Marca, Color DESC" |
LO ÚLTIMO
en tu Correo.
Suscríbete Gratis a NUESTRO BOLETÍN !!
Te Agradeceríamos nos informes si encuentras un
ENLACE
ROTO
|