Está en la página 1de 24

Active Server Page

ASP
Edwin Montoya
Introducción
• Páginas dinámicas generadas en el servidor
• Mecanismo de scripting en el servidor
• Se utiliza VBSCRIPT para el desarrollo de tales
páginas.
• Solo soportado en servidores IIS de Microsoft.
• Scripts embebidos en el código HTML
– <%= var/funcion%>
• Bloques de scripting
– <%
– …………
– %>
Funcionamiento
• Una vez el usuario invoca o solicita una página
con extensión .ASP el servidor primero pasa
dicho requerimiento por el motor de scripting
ASP (asp.dll)
• Este motor de scripting (lado del servidor)
recorre toda la página buscando y procesando
los tags especiales de ASP.
• Una vez procesado, entrega una página HTML
estándar que puede ser leido e interpretado por
cualquier browser.
• El código ASP es mantenido en el servidor y
nunca viaja al cliente.
Modelo de Objetos ASP
• Tiene 6 objetos propios
• Application
• ObjectContext
• Request
• Response
• Server
• Session
Application Object
• Representa la aplicación en sí misma
• Es global a todos los usuarios de los
aplicación
• Hay solo un objeto Application
• Tiene dos eventos importantes
– Application_OnStart
– Application_OnEnd
Application Object Summary
• Properties
– None
• Collections
– Contents
– StaticObjects
• Methods
– Lock
– Unlock
• Events
– OnStart
– OnEnd
ObjectContext Object
• Parte del MTS
• Permite crear ASP transaccional
• Resumen:
– Properties
• None
– Collections
• None
– Methods
• SetComplete
• SetAbort
– Events
• OnTransactionCommit
• OnTransactionAbort
Request Object
• Objeto a través del cual se accede a los datos
de las formas HTML y parámetros en el URL
• Manejo de Cookies y Certificados
• ServerVariables: Acceso a la información del
Request Header del mensaje HTTP
• Es equivalente a las variables de ambiente CGI
• Debe tener en cuenta el tipo de requerimiento:
GET vs POST
Request Object Summary
• Properties
– TotalBytes
• Collections
– ClientCertificate
– Cookies
– Form
– QueryString
– ServerVariables
• Methods
– BinaryRead
• Events
– None
Request Object - Form
• Permite recuperar información de entrada de
una forma HTML enviada al servidor mediante el
método POST
• Forma HTML (browser):
<html>

<FORM ACTION=“file.asp” METHOD=POST>
<INPUT TYPE=TEXT NAME=“field1”>

• Código ASP (servidor):
<%
Dim strField1
strField1 = Request.Form(“field1”)

%>
Request Object - QueryString
• Permite recuperar información de entrada de
una forma HTML enviada al servidor mediante el
método GET
• Request.QueryString(elemento) [(key) | .Count]
• Forma HTML (browser):
<html>

<FORM ACTION=“file.asp” METHOD=GET>
<INPUT TYPE=TEXT NAME=“field1”>

• Código ASP (servidor):
<%
Dim strField1
strField1 = Request.QueryString(“field1”)

%>
Request Object - ServerVariables
• Permite acceder a las variables de
ambiente para la especificación CGI
var = Request.ServerVariables(key)
• Código ASP (servidor):
<%
Dim strQS
Dim strRA
strQS = Request.ServerVariables(“QUERY_STRING”)
strRA = Request.ServerVariables(“REMOTE_ADDR”)


%>
Request Object - BinaryRead
• Lee un número de bytes directamente del body
del requerimiento HTTP enviado por el cliente
como parte de un método POST
mySafeArray =
Request.BinaryRead(ByteCount)
• Util para realizar upload de información
– File Upload
– Attachtment (mail)
• Código ASP (servidor):
<%
Dim vntRequestData
vntRequestData = Request.BinaryRead(Request.TotalBytes)


%>
Response Object
• Representa el HTTP Response hacia el
browser.
• Puede enviar HTML y cookies
• Permite tener control del HTTP Response
– Control sobre los datos y tipos de datos en el
header y body de la respuesta
– Control sobre cuando y como los datos son
enviados
Response Object Summary
• Properties • Methods
– Buffer – AddHeader
– CacheControl – AppendToLog
– Charset – BinaryWrite
– ContentType – Clear
– Expires – End
– ExpiresAbsolute – Flush
– IsClientConnected – Redirect
– PICS – Write
– Status • Events
• Collections – None
– Cookies
Response Object - Write
• Código ASP (servidor):
<%@ LANGUAGE”VBSCRIPT” %>
<HTML>
<% Response.Buffer = True %>
<HEAD>…
<%

Response.Clear
Response.Write “Hola Mundo”
Response.Write “<H1>Hello World</H1>”
Response.End


%>
Response Object - Redirect
• Response.Redirect strURL
• Redirecciona el requerimiento del cliente a otro
URL
• Código ASP (servidor):
<%@ LANGUAGE”VBSCRIPT” %>
<HTML>
<% Response.Buffer = True %>
<HEAD>…
<%

If Not(strUser = “ADMIN”) Then


Response.Redirect “/security/warning.asp?opcion=234”
End If


%>
Server Object
• Properties
– ScriptTimeout
• Collections
– None
• Methods
– CreateObject
– HTMLEncode
– MapPath
– URLEncode
• Events
– None
Server Object
• Los aspectos más importantes de este objeto
son:
– ScriptTimeout: Especifica la cantidad máxima que el
servidor web continuará procesando su script (default
90 segundos)
– CreateObject: Mecanismo para crear objetos en el
servidor
• Código ASP (servidor):
<%
Dim objAdRotator
Set objAdRotator = Server.CreateObject(“MSWC.AdRotator”)
%>
Session Object
• Agrega estado a las aplicaciones
desarrolladas con ASP.
• Puede almacenar información que es
compartida por todos los usuarios y entre
peticiones sucesivas del mismo usuario.
– Son como variables de sesión
Session Object Summary
• Properties
– CodePage
– LCID
– SessionID
– Timeout
• Collections
– Contents
– StaticObject
• Methods
– Abandon
• Events
– Session_OnStart
– Session_OnEnd
Session Object
• Session.SessionID
– Valor que univocamente identifica cada sesión de
usuario actual.
– Este tipo de dato es Long y es almacenado como una
cookie en el cliente
• Session.Contents(key)
– Forma de almacenar variables
– Session.Content.Item(“var1”) = strVar1
– Session.Content(“var2”) = intVar2
– Session(“var3) = strVar3
Referencia de Componentes
Instanciables desde ASP
• Activex Data Object (ADO)
• Ad Rotator Component
• Browser Capabilities
• Collaboration Data Object
• Content Linking Component
• Content Rotator Component
• Counters Component
• File Access Component
• MyInfo Component
• Page Counter Component
• Permission Checker Component
ActiveX Data Object - ADO
• Command ADODB.Command
• Connection ADODB.Connection
• Error ADODB.Error
• Field ADODB.Field
• Parameter ADODB.Parameter
• Property ADODB.Property
• Recordset ADODB.Recordset

También podría gustarte