Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introduccin
Active Server Pages (ASP) es una nueva tecnologa creada por Microsoft,
destinada a la creacin de sitios web. No se trata de un lenguaje de programacin en s
mismo (ya que los ASP se pueden programar en VBScript, JavaScript, PerlScript o en
varios otros lenguajes), sino de un marco sobre el que construir aplicaciones basadas en
Internet.
La tecnologa ASP apareci por primera vez (version 1.0) con el servidor Internet
Information Server 3.0 de Microsoft en Diciembre de 1996. La versin 4.0 de IIS (el Option
Pack para
NT
4.0)
incluye
la
versin
2.0
de
ASP,
y la versin 5.0 de IIS, distribuda con Windows 2000, incluye ASP 3.0.
Los predecesores de ASP incluyen CGI y Perl. Las tecnologas de Microsoft
predecesoras de ASP incluyen IDC y WebDB. Otras tecnologas que compiten con ASP
son ColdFusion (Allaire),JavaServer
Pages (Sun
Microsystems)
y PHP (de
libre
distribucin bajo Open System).
Algunas de las caractersticas de ASP son:
Ventajas
Las principales ventajas que ofrece ASP son:
1. Permite acceder a bases de datos de una forma sencilla y rpida.
Cmo se usa
Existen dos formas de incluir cdigo ASP en una pgina web:
1. Escribindolo entre las etiquetas <SCRIPT> y </SCRIPT>. En el
atributo LANGUAGE podemos indicar en que lenguaje se est
programando. Para distinguir el cdigo de script que se ejecuta en el
servidor del que se ejecuta en el cliente, se emplea el
atributo RUNAT=Server:
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
cdigo
</SCRIPT>
2. Escribindolo entre los delimitadores <% y %>. Si se usa este atajo, por
defecto se usar el lenguaje especificado por el usuario en el Registro
de Opciones de ASP. Si se quiere utilizar otro lenguaje, se debe indicar
al inicio de la pgina con la instruccin :
<%@ Language=Lenguaje %>
Figura 1
Request
Este objeto nos facilita toda la informacin sobre la peticin HTTP que un usuario
realiza a nuestro servidor (informa sobre todo lo que llega al servidor desde el cliente).
Puede incluir parmetros obtenidos a partir de un formulario HTML mediante los
mtodos POST o GET, cookies y certificados que posea el cliente, y las variables del
servidor. Esta tabla muestra las colecciones, propiedades, y mtodos a que podemos
acceder con este objeto.
Colecciones[2]
QueryString
Form
ServerVariables
Cookies
ClientCertificate
Request
Propiedades
TotalBytes
Mtodos
BinaryRead
Response
Este objeto maneja toda la informacin que se enva desde el servidor al cliente.
Incluye el envo de informacin directamente al navegador del cliente, redireccin del
navegador hacia otra URL o fijar el valor de las cookies[3]. Esta tabla muestra las
colecciones, propiedades, y mtodos a que podemos acceder con este objeto.
Colecciones
Cookies
Response
Propiedades
Buffer
CacheControl
Charset
ContentType
Expires
ExpiresAbsolute
Mtodos
AddHeader
AppendToLog
BinaryWrite
Clear
End
Flush
IsClientConnected
PICS
Status
Redirect
Write
Server
Este objeto proporciona propiedades y mtodos que estn relacionados con el
servidor donde se ejecuta nuestra aplicacin. Normalmente se usa para crear una
instancia de un componente ActiveX[4]o fijar el tiempo de validez de un guin. Esta tabla
muestra las propiedades, y mtodos a que podemos acceder con este objeto.
Colecciones
Server
Propiedades
ScriptTimeout
Mtodos
CreateObject
HTMLEncode
MapPath
URLEncode
Application
Este objeto se emplea para compartir informacin entre todos los usuarios de una
aplicacin (existe un nico objeto Application que comparten todos los usuarios). Una
aplicacin tiene un periodo de vida, como cualquier otro programa. Cuando se inicia se
ejecuta el evento OnStart y cuando termina se produce el evento OnEnd.
Esta tabla muestra las colecciones, propiedades, y mtodos a que podemos acceder con
este objeto.
Colecciones
Contents
StaticObjects
Application
Mtodos
Lock
Unlock
Eventos
OnStart
OnEnd
Session
A cada cliente que solicita una pgina ASP se le asigna un objeto Session. La
informacin almacenada en este objeto es individual para cada usuario, y se conserva el
valor al pasar de una pgina a otra. Se crea un objeto Session la primera vez que un
cliente solicita una pgina y se destruye, por defecto, veinte minutos despus de que se
haya realizado la ltima peticin. El tiempo de vida es configurable. Cuando se inicia una
sesin se produce el evento OnStart y cuando termina se produce OnEnd. Esta tabla
muestra las colecciones, propiedades, y mtodos a que podemos acceder con este
objeto.
Colecciones
Contents
StaticObjects
Propiedades
CodePage
LCID
SessionID
Timeout
Session
Mtodos
Abandon
Eventos
OnStart
OnEnd
ObjectContext
Este objeto se emplea para gestionar transacciones[5].
La tabla muestra los mtodos y eventos a que podemos acceder con este objeto.
Colecciones
Propiedades
ObjectContext
Mtodos
SetComplete
SetAbandon
Eventos
OnTransactionCommit
OnTransactionAbort
Ejemplos de cdigo
Sentencias de control y repeticin
Ejemplo 1
Muestra la hora y la fecha actuales. Segn la hora del da muestra un mensaje.
Muestra otro mensaje de forma aleatoria. En la Figura 2 podemos observar el resultado
que se obtiene al solicitar esta pgina.
<HTML>
<HEAD>
<TITLE>Servidor educado</TITLE>
</HEAD>
<BODY BGCOLOR="Wheat">
<FONT COLOR="Teal" SIZE="5"><B>
El servidor educado le informa que son las <% = Time %> del da <%
= Date %>
</B></FONT>
<P><B>
<% If Hour(Now) < 8 Then %>
Estas no son horas de conectarse, estoy durmiendo!
<% ElseIf Hour(Now) < 15 Then %>
Estoy trabajando, no moleste.
<% Else %>
La tarde es para descansar, ver la tele, dormir, ...
<% End If
Response.Write("<BR><BR>")
Randomize
i = Int(Rnd * 4)
Select Case i
Case 0
Response.Write("Hace buen da, verdad ?")
Case 1
Response.Write("Me parece que hoy llover.")
Case 2
Response.Write("Esta tarde llueve seguro.")
Case 3
Response.Write("Que sol mas esplndido.")
End Select
%>
</B>
</BODY>
</HTML>
Figura 2
Ejemplo 2
Muestra el valor de una serie de variables que posee el servidor y que
proporcionan informacin interesante sobre el servidor y sobre la conexin realizada por
el cliente. En la Figura 3 se muestra la pgina que obtiene al solicitarla con un
navegador Netscape Communicator 4.6. En la Figura 4 tenemos la misma pgina cuando
se solicita con Microsoft Internet Explorer 4.0.
<HTML>
<HEAD>
<TITLE>Variables del servidor</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<%
Response.Write("<PRE>" & vbCrLf)
Figura 3
Figura 4
Recuperacin de los datos de un formulario
Ejemplo 3
Obtiene los datos introducidos por un usuario y los muestra en una pgina. La
pgina que solicita los datos es (fichero 3f.html):
<HTML>
<HEAD>
<TITLE>Formulario de entrada</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<FORM NAME="Formulario" ACTION="3r.asp" METHOD="POST">
Nombre: <INPUT TYPE="TEXT" NAME="nombre" SIZE="20"><BR>
Apellidos: <INPUT TYPE="TEXT" NAME="apellidos" SIZE="40"><BR>
Sexo:<BR>
H
<INPUT
TYPE="RADIO"
NAME="sexo"
VALUE="varon">
M
<INPUT
TYPE="RADIO" NAME="sexo" VALUE="hembra">
<BR><BR>
<INPUT TYPE="SUBMIT" VALUE="Enviar">
</FORM>
</BODY>
</HTML>
En la etiqueta FORM, el atributo ACTION contiene el nombre de la pgina de
respuesta al formulario. La pgina de respuesta que muestra los datos introducidos en el
formulario es (fichero 3r.asp):
<HTML>
<HEAD>
<TITLE>Datos obtenidos del formulario</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
Su nombre es <% = Request.Form("nombre") %>
<BR>
Sus apellidos son <% = Request.Form("apellidos") %>
<BR>
Su sexo es <% = Request.Form("sexo") %>
</BODY>
</HTML>
Acceso a base de datos
Ejemplo 4
Accede a una base de datos realizada en Microsoft Access que contiene una
tabla Personal con los campos Nombre, Apellidos, Edad y Ciudad. Consulta las
personas que viven en la ciudad de Alicante y las muestra en una tabla. Se accede
mediante ODBC (el nombre asignado a la conexin es curso) a la base de datos.
<HTML>
<HEAD>
<TITLE>Acceso a base de datos</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
Personal de la oficina de Alicante:
<BR>
<TABLE BORDER="3">
<TR>
<TD><B>Nombre</B></TD>
<TD><B>Apellidos</B></TD>
<TD><B>Edad</B></TD>
</TR>
<%
'Abre la conexion con la base de datos a traves de una conexion ODBC
Set con = Server.CreateObject("ADODB.Connection")
con.Open "curso"
'Ejecuta un sentencia SQL de consulta
sql = "SELECT * FROM Personal WHERE Ciudad = 'Alicante'"
Set result = con.Execute(sql)
'Recorre todas las filas del resultado
Do While Not result.EOF
' Muestra la fila actual
Response.Write("<TR>" & vbCrLf)
Response.Write("<TD>" & result("Nombre") & "</TD>" & vbCrLf)
Response.Write("<TD>" & result("Apellidos") & "</TD>" & vbCrLf)
</TR>
</TABLE>
<BR><BR>
<INPUT
TYPE="SUBMIT"
TYPE="RESET" VALUE="Borrar">
</CENTER>
</FORM>
</BODY>
</HTML>
VALUE="Enviar"> <INPUT
</BODY>
</HTML>
Visualizacin en el navegador.
Figura 5
Direcciones de Internet
AspTracker.com: http://asptracker.com/
4GuysFromRolla.com: http://www.4guysfromrolla.com/
Allaire: http://www.allaire.com
ASP 101: http://www.asp101.com/
ASP Today: http://www.asptoday.com/
Chili!Soft, Inc.: http://www.chilisoft.net/
Halcyon Software: http://www.halcyonsoft.com/
Kathis Place: Active Server Pages (ASP):
http://www.attitude.com/users/kathi/asp/tools.html
LearnASP.com: http://www.learnasp.com/
PHP: http://www.php.net/
ServerObjects Inc.: http://www.serverobjects.com/products.htm