ASP (Active Server Pages) ASP es un lenguaje de script creado por Microsoft para permitir la generación dinámica de páginas HTML por parte de los servidores IIS y PWS. Los scripts se pueden escribir en VBScript o Jscript. Una de sus principales finalidades es la de permitir la conexión con bases de datos. El código ASP se mezcla con el código HTML de las páginas web. Para distinguir uno de otro se utilizan los delimitadores <%... para encerrar el código ASP. Si una página HTML contiene código ASP su extensión debe ser asp. Ejemplo primero: <%@ language="vbscript" <html> <body> <% dim asp 'se declra la variable asp asp = "Active Server Pages ASP" 'se asigna un valor a asp <h1>curso de: <b><%=asp</b></h1> </body> </html> Todo el código encerrado entre los delimitadores <% y es interpretado por el servidor web para al final producir una página en HTML que es la que se envía al navegador. En principio no se distingue el uso de mayúsculas y minúsculas. Los comentarios se introducen con el carácter '. Variables No es necesario declarar las variables, aunque es conveniente hacerlo. Para forzar que sea obligatorio declarar las variables se puede introducir la instrucción option explicit. Para declarar las variables se usan las dim, public y private. El tipo de todas las variables es variant que es un tipo especial que permite almacenar variables de distintos tipos. La función vartype() permite comprobar en todo momento el subtipo de datos que contiene una variable. Los valores que devuelve esta función se pueden interpretar del siguiente modo: valor subtipo f. conversión valor subtipo f. conversión 0 empty 7 date cdate() 1 null 8 string cstr() 2 integer cint() 9 object 3 long clng() 10 error 4 single csng() 11 boolean cbool() 5 double cdbl() 17 byte 6 currency ccur()
Constantes Las constantes se declaran con la instrucción const. Operadores Sentencias Operador Operación Operador Operación + suma = igual - resta <> distinto * multiplicación < menor /, \ división > mayor %, mod módulo <= menor o igual ^ exponenciación >= mayor o igual and y xor o exclusivo or o not no <% if condición then elseif else end if <% do while condición loop <% do until condición loop <% while condición wend <% for variable = inicial to final next <% select case variable case valor case else end select <% do loop while condicion <% do loop until condicion <% for each elemento in grupo next
Ejemplo 3: <%For Each elemento IN Request.ServerVariables Response.Write elemento &"="&Request.ServerVariables(elemento)&"<BR>" Next Funciones consulta de variables: isempty(), isdate(), isnumeric(), isobject(), isnull(), vartype() cadenzas: instr(), lcase(), left(), len(), ltrim(), mid(), replace(), right(), rtrim(), space(), split(), trim(), ucase() fechas: date(), dateadd(), datediff(), datevalue(), day(), hour(), minute(), month(), monthname(), now(), second(), time(), timevalue(), weekday(), weekdayname(), year() formato: formatcurrency(), formatdatetime(), formatnumber(), formatpercent() numéricas: cos(), exp(), log(), rnd() (randomize), sin(), sqr(), tan() Matrices Para declarar una matriz se debe indicar entre paréntesis el número de elementos de la matriz. Los elementos de una matriz se enumeran a partir del cero. Las matrices pueden tener hasta 60 dimensiones. También se pueden declarar sin dimensiones iniciales. Para redimensionar una matriz se usa la instrucción redim matriz(n) o redim preserve matriz(n). Ejemplo 4: dim m1(9), m2(), m3(2,3) Objetos integrados ASP contiene siete objetos integrados que liberan al programador de la realización de tareas complejas. Estos seis objetos no requieren que sean instanciados siempre se encuentran disponibles en nuestras páginas ASP. Estos objetos son los siguientes: Application, Session, Request, Response, Server, ASPError y ObjectContext. Cada uno de estos objetos posee una serie de métodos y propiedades para poder ser utilizados por el script de servidor. Componentes de servidor ASP incluye una serie de componentes ActiveX de servidor (o componentes de servidor), llamados componentes ActiveX Server. Estos componentes están diseñados para ejecutarse en un servidor Web y contienen una serie de funciones bastante útiles para que el programador no tenga que construirlas, una de estas funciones puede ser el acceso a bases de datos. Estos componentes se invocan desde las páginas ASP. No se deben confundir los componentes de servidor con los objetos integrados en ASP. Para poder tener acceso a alguno de los componentes ActiveX de servidor primero se deberá crear una instancia del componente correspondiente. Una vez creada la instancia, se pueden usar los métodos asociados al componente o establecer y leer sus propiedades. Los componentes ActiveX Server que incluye ASP son los siguientes:
acceso a bases de datos (ADO), acceso a bases de datos desde una página ASP Ad Rotator, mostrar una serie de imágenes alternativas con un vínculo a otra dirección desde la imagen presentada funciones del explorador, datos acerca del tipo de navegador del cliente y que capacidades o funciones tiene vínculo de contenidos, facilita el desplazamiento lógico entre las diferentes páginas ASP de una aplicación ASP Content Rotator (rotador de contenidos), rotaciones de cadenas de contenido HTML en una página Page Counter (contador de páginas), cuenta del número de veces que se ha accedido a una página determinada dentro de nuestro sitio Web Counters, almacenar, crear, incrementar y consultar cualquier contador MyInfo, información personal que será ofrecida por el administrador del sitio Web Tools, una serie de funciones diversas Permission Checker, determinar si a un usuario se le ha dado permisos para acceder a un fichero determinado registro de IIS, acceso a la información y manipulación de los ficheros de registro (log) generados por el servidor Web IIS 5.0. Además de todos estos componentes, el programador puede crear sus propios componentes Actives Server. Estos componentes se pueden desarrollar en lenguajes de programación como Visual Basic, Java o C++, una vez creado el componente se transforma a una DLL que se registrará en el servidor. Todos los componentes de servidor que no es encuentran incluidos en ASP deben ser registrados. Una vez registrado el componente en el servidor Web se puede instanciar desde el lenguaje de secuencias de comandos de una página ASP. Objeto Application El objeto Application se utiliza para compartir información entre todos los usuarios de una aplicación. Ejemplo 5: <% Application.Lock Application("visitas") = Application("visitas")+1 Application.Unlock Eres el visitante numero <%= Application("visitas") Objeto Request El Objeto Request recupera los valores que el cliente pasa al servidor durante una petición HTTP. Dependiendo de la forma en que se envíen los datos al servidor se tendrá que utilizar una u otra de las diversas colecciones del objeto Request. Las mas típicas son: FORM recupera datos enviados desde un formulario mediante el método POST, QUERYSTRING recupera datos enviados como cadena de consulta http y COOKIES recupera los valores de las Cookies.
Objeto Response El Objeto response se usa para enviar resultados al navegador cliente o establecer valores de Cookies. El método Write escribe una cadena de resultado en el navegador cliente. El método Redirect hace que el explorador se conecte con una dirección URL diferente. Objeto Server El objeto Server proporciona acceso a métodos y propiedades del servidor. El método createobject crea una instancia de un componente ActiveX en el servidor. Objeto Session El objeto Session permite almacenar la información necesaria par una sesión de usuario contra nuestra aplicación ASP. Las variables que almacenemos en el objeto Session no se pierden al cambiar de página, si no que se mantienen hasta que el cliente sea eliminado por el servidor. El servidor elimina un cliente bien cuando desde una pagina ASP se invoca el método abandon o bien cuando este cliente lleva 20 minutos sin actividad en la aplicación. Ejemplo 6: <% session( variablesesion )=valor variable=session( variablesession ) session.abandon