Conferencia ASP 4: Componentes integrados de ASP
Autor:Eve Cole
Fecha de actualización:2009-05-30 19:58:14
En las primeras tres conferencias, presentamos principalmente los cuatro objetos integrados proporcionados por ASP:
Objeto de respuesta: Enviar información al navegador.
Objeto de solicitud: accede a la información enviada desde el navegador al servidor (como la obtención de datos del formulario).
Objeto de sesión: almacena y lee información de conversación de usuario específica.
Objeto de aplicación: almacena y lee información de la aplicación compartida por todos los usuarios.
Además, hay objetos Servidor y objetos ObjetoContext que aprenderemos en ejemplos futuros (pista: de hecho, ya puedes usar los conocimientos que has aprendido para escribir una sala de chat en línea sin darte cuenta). El contenido de esta conferencia es el uso de los componentes del servidor ActiveX de ASP (componentes).
1. Componente de capacidades del navegador:
Sabemos que diferentes navegadores pueden admitir diferentes funciones. Por ejemplo, algunos navegadores admiten marcos y otros no. Con este componente, puede verificar las capacidades del navegador para que su página web pueda mostrar diferentes páginas para diferentes navegadores (como mostrar páginas web sin Frame para navegadores que no admiten Frame). El uso de este componente es muy sencillo. Cabe señalar que para utilizar este componente correctamente, debe asegurarse de que el archivo Browscap.ini esté actualizado (de hecho, todos los navegadores y sus características se enumeran en este archivo). comprenda después de abrirlo usted mismo), de lo contrario, los resultados pueden ser muy diferentes. Por ejemplo, IE5.0 incluido en la segunda versión de Win98 se muestra como Netscape en el siguiente ejemplo. Este archivo generalmente se encuentra en "WinntSystem32InetSrv" en el servidor web. La última versión se puede descargar desde http://www.asptracker.com/ o http://www.cyscape.com/browscap.
Ejemplo: wuf22.asp
<html>
<CUERPO>
'Nota: El uso de componentes es similar al de los objetos, pero los componentes deben crearse antes de su uso y no es necesario crearlos antes de usar los objetos integrados.
<%Establecer BrowsCap=Server.CreateObject("MSWC.BrowserType")%>
Espere por favor......
<P>
<BORDE DE LA TABLA=1 PADDING DE CELDA=10>
<TR><TD>Tipo de navegador</TD><TD><%=BrowsCap.Browser%></TD></TR>
<TR><TD>Versión del navegador</TD><TD><%=BrowsCap.version%></TD></TR>
<TR><TD>Si se admiten tablas</TD><TD><%=BrowsCap.tables%></TD></TR>
<TR><TD>Si se admiten controles ActiveX</TD><TD><%=BrowsCap.activexcontrols%></TD></TR>
<TR><TD>Si se admiten JavaApplets</TD><TD><%=BrowsCap.javaapplets%></TD></TR>
<TR><TD>Si se admite JavaScript</TD><TD><%=BrowsCap.javascript%></TD></TR>
<TR><TD>Si se admiten cookies</TD><TD><%=BrowsCap.Cookies%></TD></TR>
<TR><TD>Si se admiten marcos</TD><TD><%=BrowsCap.Frames%></TD></TR>
<TR><TD>Sistema operativo</TD><TD><%=BrowsCap.Platform%></TD></TR>
<TR><TD>Si se admite VBScript</TD><TD><%=BrowsCap.vbscript%></TD></TR>
</TABLA>
<%Establecer BrowsCap = Nada%>
</CUERPO>
</HTML>
Nota: En este ejemplo también tocamos el método CreateObject del objeto Servidor. Server.CreateObject se usa para crear componentes ActiveX que se han registrado en el servidor (Nota: existen otros métodos para crear componentes). Pero no olvide utilizar "Establecer objeto = Nada" para liberar recursos a tiempo. Esto debería convertirse en un hábito.
2. Componente de acceso a archivos
El componente File Access consta de un objeto FileSystemObject y un objeto TextStream. Con el objeto FileSystemObject, puede crear, recuperar y eliminar directorios y archivos, mientras que el objeto TextStream proporciona la función de leer y escribir archivos.
Ejemplo wuf23.asp. Énfasis: Sólo a través de la práctica se puede profundizar la comprensión. Practicar y comparar los resultados de la ejecución del programa es la mejor manera de dominar rápidamente las habilidades de programación.
<%@ Idioma=VBScript %>
<% Opción explícita
' Tenga en cuenta la ruta absoluta: C:Inetpubhomeaspwuf23.asp Ruta de la página de inicio: C:Inetpubhome
Ruta atenuada, Archivo, FSO, CTF, Str, StrHTML, StrNoHTML
'Utilice el método CreateObject para crear el objeto FileSystemObject FSO
Establecer FSO = Server.CreateObject ("Scripting.FileSystemObject")
Path = Server.MapPath("test") 'Devuelve el directorio físico de la prueba (ruta absoluta)
'En lo que respecta a este ejemplo, la siguiente oración devuelve exactamente la misma ruta que la oración anterior.
'Ruta = Server.MapPath("asptest")
Respuesta. Ruta de escritura y "<Br>"
Si FSO.FolderExists(Path) = false entonces 'Determina si la carpeta existe
FSO.CreateFolder(Ruta) 'Crear una nueva carpeta
Terminar si
Archivo = Ruta y "asptest.txt"
'Operación de escritura de archivo
Si FSO.FileExists(File) = True Entonces 'Determina si el archivo existe
'Crear objeto TextStream CTF
Establecer CTF = FSO.OpenTextFile(File, 8, False, 0) 'Abra el archivo, consulte la descripción para obtener más detalles
Demás
Establecer CTF = FSO.CreateTextFile(Archivo,Falso, Falso) 'Nuevo archivo
Terminar si
CTF.Escribir "<P>La primera cadena; " 'Escribir cadena
CTF.WriteLine "Segunda cadena; " 'Escribe la cadena y agrega un carácter de nueva línea
CTF.Escribe "La tercera cadena; "
CTF.Close 'Nota para cerrar el archivo
'Operación de lectura de archivo
Establecer CTF = FSO.OpenTextFile(Archivo, 1,,0)
Do While CTF.AtEndOfStream <> True 'Determina si el archivo finaliza (declaración de bucle)
Str = CTF.ReadLine 'Leer una línea (cada vez)
StrNoHTML = StrNoHTML & Str & "<BR>" & VbCrLf
StrHTML = StrHTML & Server.HTMLEncode(Str) & "<BR>" & VbCrLf
Bucle
Respuesta.Escribir StrNoHTML
Respuesta.Escribir StrHTML
CTF.Cerrar
Establecer CTF = Nada 'Liberar el objeto
Establecer FSO = Nada
%>
CTF = FSO.OpenTextFile (Archivo, 8, Falso, 0), el primer parámetro entre paréntesis es el nombre del archivo; el segundo parámetro es 8, lo que significa agregar el contenido después del archivo original. Si es 1, significa leer. -solo, y si es 2, reescribirá el archivo original; el tercer parámetro es falso, si el archivo especificado no existe, el archivo no se creará; si es Verdadero, significa que el archivo especificado no existe; existe, entonces el archivo se creará; el cuarto parámetro 0 significa que se abrirá en formato de archivo ASCII. Si es -2, significa abrir en el formato original.
CTF = FSO.CreateTextFile (Archivo, Falso, Falso), el segundo parámetro falso significa no sobrescribir el archivo existente, si es Verdadero, significa sobrescribir (Sobrescribir) el archivo existente, el tercer parámetro falso significa que el formato del archivo es ASCII; , ser Verdadero indica que el formato del archivo es Unicode.
El método MapPath del objeto Servidor convierte la ruta virtual especificada en una ruta de archivo real. MapPath trata los caracteres "/" y "" de la misma manera.
El método HTMLEncode del objeto Servidor le permite codificar HTML una cadena específica o permitir que el navegador muestre caracteres específicos correctamente. En el ejemplo anterior, si no está codificado, "<P>" no se mostrará, pero el navegador lo tratará como una etiqueta HTML. Puede comparar los resultados de la ejecución.
De hecho, el componente File Access es relativamente poderoso para operar archivos, carpetas y unidades, y también proporciona más métodos. Si necesita utilizar este conocimiento, no olvide usarlo.
Además, a estas alturas, escribir un contador de páginas web es pan comido. No es de extrañar que tantas páginas web ofrezcan contadores gratuitos. ¿Qué tal? Intenta escribir un contador gráfico tú mismo. Puedes hacer tantas trampas como quieras. ¡Tú tienes la última palabra! (Pequeño secreto: tengo una instancia wuf24.asp en mi página de inicio)
3. AD Rotator (componente para voltear publicidad)
Hoy en día, cuando navego por Internet, lo que más odio son los banners publicitarios en las páginas de inicio de otras personas, y lo que más me gustan son los banners publicitarios en mi propia página de inicio. Los banners publicitarios están en todas partes como spam y son difíciles de proteger. También puede crear esa basura usted mismo. El componente AD Rotator de ASP puede mostrar anuncios aleatoriamente cada vez que abre o recarga una página web. Este ejemplo consta de tres partes:
Rutina wuf25.asp
<%@ Idioma=VBScript %>
<% Opción explícita
dirección tenue
'Crear objeto AD Rotator
Establecer dirección = Server.CreateObject ("MSWC.AdRotator")
adr.Border = 2 'Especifique el tamaño del borde del archivo de gráficos
adr.Clickable = True 'Indica si la imagen mostrada es un hipervínculo
adr.TargetFrame = "_blank" 'Establece el hipervínculo para especificar el nombre del marco, como por ejemplo: _TOP _NEW _PARENT
'Obtenga la configuración de imagen e hipervínculo que se mostrará: configúrela en el archivo AdrSet.txt
Respuesta.Escribir adr.GetAdvertisement("AdrSet.txt")
%>
Contenido de AdrSet.txt (seguido de comentarios, no del contenido de este archivo):
REDIRECTAR wuf26.asp Después de hacer clic en el anuncio, será procesado por wuf26.asp
WIDTH 468 Ancho de la imagen del anuncio
ALTURA 60 Altura de la imagen publicitaria
* separador
La ubicación de la imagen publicitaria, que también puede ser un archivo gráfico local.
http://www.163.com/ apunta al enlace. Si no hay ningún hipervínculo, escriba un "-".
Descripción de texto de NetEase
20 muestra el peso relativo del anuncio, es decir, la frecuencia de visualización
http://www.sina.com.cn/
sina.com
30
http://www.canon.com.cn/
Canon
50
En este ejemplo, hay tres imágenes (tamaño de imagen 468X60) y enlaces. La descripción de cada enlace ocupa cuatro líneas. En el uso real, puede seguir el mismo método y agregar más imágenes.
<% 'wuf26.asp
URL = Solicitud.QueryString("url")
Respuesta.Redireccionamiento(URL)
%>
wuf26.asp es el programa de procesamiento más simple, puede agregar más código aquí según las necesidades reales.
Ejecútalo y resulta que el uso de este componente también es muy sencillo. Todo lo que tienes que hacer es obtener tu propio archivo AdrSet.txt. Con este componente, incluso puede diseñar una página de inicio de Ad Exchange que ahora está muy de moda.
4. Componente de enlace de contenido Obviamente, este componente está relacionado con los enlaces. Si desea conocer el uso específico de este componente de inmediato, me temo que es demasiado apresurado. Primero puede citar un ejemplo clásico: suponga que está leyendo un. libro en Internet, no debe estar familiarizado con los siguientes enlaces No estará familiarizado: Capítulo 1, Capítulo 2, ..., capítulo anterior, capítulo siguiente (o página anterior, página siguiente), etc. Lo que tenemos que hacer ahora es cómo configurar saltos entre estos enlaces de forma fácil y rápida.
Primero cree un archivo de texto de lista de enlaces, como urllist.txt
wuf23.asp Capítulo 1: Operaciones de archivos (componente de acceso a archivos)
wuf28.asp Capítulo 2: Ejemplo de uso del componente de enlace de contenido
wuf22.asp Capítulo 3: Capacidad del navegador Enlace de componente La dirección URL y la descripción están separadas por la tecla Tab. El siguiente wuf27.asp se utiliza para enumerar todos los enlaces en urllist.txt.
<% @LANGUAGE = VBScript %>
<% Opción Explícita %>
<html><head><title>Uso del componente de enlace de contenido</title></head>
<cuerpo>
<h2>Tabla de contenido: tenga en cuenta que el enlace principal es el Capítulo 2, debe hacer clic en él</h2>
<ul>
<%
Atenuar NextLink, contar
'Crear componente de enlace de contenido
Establecer NextLink = Server.CreateObject ("MSWC.NextLink")
'Obtiene el número de enlaces en el archivo urllist.txt
Contar = NextLink.GetListCount("urllist.txt")
URL oscura, Dscr, I
Para I = 1 para contar
url = NextLink.GetNthURL ("urllist.txt", I) 'Obtener hipervínculo
Dscr = NextLink.GetNthDescription ("urllist.txt", I) 'Obtener descripción de texto
Respuesta.Escribir "<li><a href = """ & url & """>" & Dscr & "</a>" & vbcrlf
Próximo
%>
</ul></body></html>
Luego, tome wuf28.asp como ejemplo para ilustrar cómo saltar automáticamente al capítulo anterior y al siguiente.
<% @LANGUAGE = VBScript %>
<% Opción Explícita %>
<html><head><title>Presta atención a este enlace</title></head>
<cuerpo>
<p>Aquí está el texto del Capítulo 2......</p>
<% 'Cada archivo contiene la siguiente oración para lograr el enlace automático%>
<!--#include file="wuf29.asp"-->
</cuerpo></html>
Agregar la última oración aquí puede realizar un salto automático. El núcleo está en wuf29.asp.
<%
Dim NextLink, rango
Establecer NextLink = Server.CreateObject ("MSWC.NextLink")
'¿Cuál es el enlace actual en urllist.txt?
rango = NextLink.GetListIndex ("urllist.txt")
Respuesta.Escribir "<hr>"
Si (rango > 1) Entonces 'rango = 1 no hay página anterior
Response.Write "|<a href=""" & NextLink.GetPreviousURL("urllist.txt") & """>Capítulo anterior</a>|"
Terminar si
Si (clasificación < NextLink.GetListCount("urllist.txt")) Entonces 'la clasificación está al final, entonces no hay página siguiente
Response.Write "|<a href=""" & NextLink.GetNextURL("urllist.txt") & """>Siguiente capítulo</a>|"
Terminar si
%>
Después de ejecutar este ejemplo, inmediatamente podrá comprender realmente la función de este componente. En resumen, no es necesario escribir "capítulo anterior" y "capítulo siguiente" en cada página. Se puede hacer completamente a través de wuf29.asp. . ¿No es muy conveniente? ! De lo contrario, ¿no sería demasiado problemático modificar el enlace manualmente?
Ahora debes entender que hay una gran cantidad de contadores gratuitos, foros de mensajes gratuitos, salas de chat gratuitas, redes de intercambio de publicidad, etc. Sus principios no son más que esto, por lo que no hay necesidad de adorarlos.