Conférence ASP 4 : Composants intégrés ASP
Auteur:Eve Cole
Date de mise à jour:2009-05-30 19:58:14
Dans les trois premiers cours, nous avons principalement présenté les quatre objets intégrés fournis par ASP :
Objet de réponse : envoyer des informations au navigateur.
Objet de requête : accéder aux informations envoyées du navigateur au serveur (comme l'obtention de données de formulaire).
Objet de session : stocke et lit les informations de conversation utilisateur spécifiques.
Objet Application : stocke et lit les informations d’application partagées par tous les utilisateurs.
De plus, il existe des objets Server et des objets ObjectContext que nous apprendrons dans de futurs exemples (indice : en fait, vous pouvez déjà utiliser les connaissances que vous avez acquises pour écrire un salon de discussion en ligne sans vous en rendre compte). Le contenu de cette conférence est l'utilisation des composants du serveur ActiveX d'ASP (composants).
1. Composant de capacités du navigateur :
Nous savons que différents navigateurs peuvent prendre en charge différentes fonctions. Par exemple, certains navigateurs prennent en charge les cadres et d'autres non. À l'aide de ce composant, vous pouvez vérifier les capacités du navigateur afin que votre page Web puisse afficher différentes pages pour différents navigateurs (comme l'affichage de pages Web sans Frame pour les navigateurs qui ne prennent pas en charge Frame). L'utilisation de ce composant est très simple. A noter que pour utiliser correctement ce composant, vous devez vous assurer que le fichier Browscap.ini est à jour (en fait, tous les navigateurs et leurs fonctionnalités sont répertoriés dans ce fichier. Vous le ferez). comprenez après l'avoir ouvert vous-même. ), sinon les résultats peuvent être très différents. Par exemple, IE5.0 inclus dans la deuxième version de Win98 est affiché sous le nom de Netscape dans l'exemple suivant. Ce fichier se trouve généralement sous "WinntSystem32InetSrv" sur le serveur Web. La dernière version peut être téléchargée depuis http://www.asptracker.com/ ou http://www.cyscape.com/browscap.
Exemple : wuf22.asp
<html>
<CORPS>
'Remarque : L'utilisation des composants est similaire à celle des objets, mais les composants doivent être créés avant utilisation, et il n'est pas nécessaire de créer avant d'utiliser les objets intégrés.
<%Set BrowsCap=Server.CreateObject("MSWC.BrowserType")%>
S'il vous plaît, attendez......
<P>
<TABLE BORDER=1 CELLPADDING=10>
<TR><TD>Type de navigateur</TD><TD><%=BrowsCap.Browser%></TD></TR>
<TR><TD>Version du navigateur</TD><TD><%=BrowsCap.version%></TD></TR>
<TR><TD>Si les tableaux sont pris en charge</TD><TD><%=BrowsCap.tables%></TD></TR>
<TR><TD>Si les contrôles ActiveX sont pris en charge</TD><TD><%=BrowsCap.activexcontrols%></TD></TR>
<TR><TD>Si les JavaApplets sont prises en charge</TD><TD><%=BrowsCap.javaapplets%></TD></TR>
<TR><TD>Si JavaScript est pris en charge</TD><TD><%=BrowsCap.javascript%></TD></TR>
<TR><TD>Si les cookies sont pris en charge</TD><TD><%=BrowsCap.Cookies%></TD></TR>
<TR><TD>Si les frames sont pris en charge</TD><TD><%=BrowsCap.Frames%></TD></TR>
<TR><TD>Système d'exploitation</TD><TD><%=BrowsCap.Platform%></TD></TR>
<TR><TD>Si VBScript est pris en charge</TD><TD><%=BrowsCap.vbscript%></TD></TR>
</TABLE>
<%Set BrowsCap = Rien%>
</CORPS>
</HTML>
Remarque : Dans cet exemple, nous avons également touché la méthode CreateObject de l'objet Server. Server.CreateObject est utilisé pour créer des composants ActiveX qui ont été enregistrés sur le serveur (Remarque : il existe d'autres méthodes pour créer des composants). Mais n'oubliez pas d'utiliser "Set Object = Nothing" pour libérer les ressources à temps. Cela devrait devenir une habitude.
2. Composant d'accès aux fichiers
Le composant File Access se compose d'un objet FileSystemObject et d'un objet TextStream. À l'aide de l'objet FileSystemObject, vous pouvez créer, récupérer et supprimer des répertoires et des fichiers, tandis que l'objet TextStream fournit la fonction de lecture et d'écriture de fichiers.
Exemple wuf23.asp. Accentuation : Ce n'est que par la pratique que la compréhension peut être approfondie. La pratique et la comparaison des résultats de l'exécution du programme sont le meilleur moyen de maîtriser rapidement les compétences en programmation.
<%@ Langage=VBScript %>
Option <% explicite
' Notez le chemin absolu : C:Inetpubhomeaspwuf23.asp Chemin de la page d'accueil : C:Inetpubhome
Dim Chemin, Fichier, FSO, CTF, Str, StrHTML, StrNoHTML
'Utilisez la méthode CreateObject pour créer l'objet FileSystemObject FSO
Définir FSO = Server.CreateObject("Scripting.FileSystemObject")
Path = Server.MapPath("test") 'Renvoie le répertoire physique du test (chemin absolu)
'En ce qui concerne cet exemple, la phrase suivante renvoie exactement le même chemin que la phrase ci-dessus
'Chemin = Serveur.MapPath("asptest")
Réponse.Write Path & "<Br>"
Si FSO.FolderExists(Path) = false alors 'Déterminer si le dossier existe
FSO.CreateFolder(Path) 'Créer un nouveau dossier
Fin si
Fichier = Chemin & "asptest.txt"
'Opération d'écriture de fichier
Si FSO.FileExists(File) = True Then 'Déterminer si le fichier existe
'Créer un objet TextStream CTF
Set CTF = FSO.OpenTextFile(File, 8, False, 0) 'Ouvrez le fichier, voir la description pour plus de détails
Autre
Définir CTF = FSO.CreateTextFile(File,False, False) 'Nouveau fichier
Fin si
CTF.Write "<P>La première chaîne; " 'Écrire la chaîne
CTF.WriteLine "Deuxième chaîne; " 'Écrivez la chaîne et ajoutez un caractère de nouvelle ligne
CTF.Écrivez « La troisième chaîne ; »
CTF.Close 'Remarque pour fermer le fichier
'Opération de lecture de fichier
Définir CTF = FSO.OpenTextFile(Fichier, 1,,0)
Do While CTF.AtEndOfStream <> True 'Détermine si le fichier se termine (instruction de boucle)
Str = CTF.ReadLine 'Lire une ligne (à chaque fois)
StrNoHTML = StrNoHTML & Str & "<BR>" & VbCrLf
StrHTML = StrHTML & Server.HTMLEncode(Str) & "<BR>" & VbCrLf
Boucle
Réponse.Write StrNoHTML
Réponse.Write StrHTML
CTF.Fermer
Set CTF = Nothing 'Libérer l'objet
Définir FSO = Rien
%>
CTF = FSO.OpenTextFile(File, 8, False, 0), le premier paramètre entre parenthèses est le nom du fichier ; le deuxième paramètre est 8, ce qui signifie ajouter le contenu après le fichier d'origine. S'il est 1, cela signifie lu. -seulement, et s'il vaut 2, il réécrira le fichier original ; le troisième paramètre false signifie que si le fichier spécifié n'existe pas, le fichier ne sera pas créé s'il est True, cela signifie que le fichier spécifié n'existe pas ; existe, alors le fichier sera créé ; le quatrième paramètre 0 signifie qu'il sera ouvert au format de fichier ASCII. S'il est -2, cela signifie une ouverture au format d'origine.
CTF = FSO.CreateTextFile(File,False, False), le deuxième paramètre false signifie ne pas écraser le fichier existant, s'il est True, cela signifie écraser (OverWrite) le fichier existant, le troisième paramètre false signifie que le format de fichier est ASCII ; , étant True indique que le format de fichier est Unicode.
La méthode MapPath de l'objet Server convertit le chemin virtuel spécifié en un chemin de fichier réel. MapPath traite les caractères "/" et "" de la même manière.
La méthode HTMLEncode de l'objet Server vous permet d'encoder en HTML une chaîne spécifique ou de permettre au navigateur d'afficher correctement des caractères spécifiques. Dans l'exemple ci-dessus, s'il n'est pas encodé, "<P>" ne sera pas affiché, mais sera traité comme une balise HTML par le navigateur. Vous pouvez comparer les résultats en cours d'exécution.
En fait, le composant File Access est relativement puissant pour gérer les fichiers, les dossiers et les lecteurs, et il fournit également plus de méthodes. Si vous avez besoin d'utiliser ces connaissances, n'oubliez pas de les utiliser.
De plus, à l’heure actuelle, écrire un compteur de pages Web est un jeu d’enfant. Il n’est pas étonnant que tant de pages Web proposent des compteurs gratuits. Et ça ? Essayez d'écrire vous-même un compteur graphique. Vous pouvez tricher autant que vous le souhaitez. C'est trop cool ! (Petit secret : j'ai une instance wuf24.asp sur ma page d'accueil)
3. AD Rotator (composant de retournement publicitaire)
De nos jours, lorsque je navigue sur Internet, ce que je déteste le plus, ce sont les bannières publicitaires sur les pages d'accueil des autres, et ce que j'aime le plus, ce sont les bannières publicitaires sur ma propre page d'accueil. Les bannières publicitaires sont partout comme du spam et il est difficile de s'en prémunir. Vous pouvez également créer vous-même de tels déchets. Le composant AD Rotator d'ASP peut afficher des publicités de manière aléatoire à chaque fois que vous ouvrez ou rechargez une page Web. Cet exemple se compose de trois parties :
Routine wuf25.asp
<%@ Langage=VBScript %>
Option <% explicite
Faible adr
'Créer un objet AD Rotator
Définir adr = Server.CreateObject("MSWC.AdRotator")
adr.Border = 2 'Spécifiez la taille de la bordure du fichier graphique
adr.Clickable = True 'Indique si l'image affichée est un lien hypertexte
adr.TargetFrame = "_blank" 'Définissez le lien hypertexte s'il faut spécifier le nom du cadre, tel que : _TOP _NEW _PARENT
'Obtenir les paramètres de l'image et du lien hypertexte à afficher - définis dans le fichier AdrSet.txt
Réponse.Write adr.GetAdvertisement("AdrSet.txt")
%>
Contenu d'AdrSet.txt (suivi de commentaires, pas du contenu de ce fichier) :
REDIRECTION wuf26.asp Après avoir cliqué sur l'annonce, elle sera traitée par wuf26.asp
LARGEUR 468 Largeur de l'image de l'annonce
HAUTEUR 60 Hauteur de l'image publicitaire
* séparateur
L'emplacement de l'image publicitaire, qui peut également être un fichier graphique local
http://www.163.com/ pointe vers le lien S'il n'y a pas d'hyperlien, écrivez un "-".
Description textuelle de NetEase
20 montre le poids relatif de la publicité, c'est-à-dire la fréquence d'affichage
http://www.sina.com.cn/
sina.com
30
http://www.canon.com.cn/
Canon
50
Dans cet exemple, il y a trois images (taille d'image 468X60) et des liens. La description de chaque lien occupe quatre lignes. En utilisation réelle, vous pouvez suivre la même méthode et ajouter plus d'images.
<% 'wuf26.asp
URL = Requête.QueryString("url")
Réponse.Redirection(URL)
%>
wuf26.asp est le programme de traitement le plus simple, vous pouvez ajouter plus de code ici en fonction des besoins réels.
Exécutez-le et il s'avère que l'utilisation de ce composant est également très simple. Tout ce que vous avez à faire est d'obtenir votre propre fichier AdrSet.txt. Grâce à ce composant, vous pouvez même concevoir une page d’accueil Ad Exchange désormais très tendance.
4. Composant de liaison de contenu Ce composant est évidemment lié aux liens. Si vous souhaitez connaître tout de suite l'utilisation spécifique de ce composant, je crains que ce soit trop hâtif. Autant citer d'abord un exemple classique : Supposons que vous lisiez un. livre sur Internet, vous ne devez pas être familier avec les liens suivants. Vous ne serez pas familier : Chapitre 1, Chapitre 2,..., chapitre précédent, chapitre suivant (ou page précédente, page suivante), etc. Ce que nous devons faire maintenant, c'est comment établir des sauts entre ces liens facilement et rapidement.
Créez d'abord un fichier texte de liste de liens, tel que urllist.txt
wuf23.asp Chapitre 1 : Opérations sur les fichiers (composant d'accès aux fichiers)
wuf28.asp Chapitre 2 : Exemple d'utilisation du composant Content Linking
wuf22.asp Chapitre 3 : Lien du composant de fonctionnalité du navigateur L'adresse URL et la description sont séparées par la touche Tab. Le wuf27.asp suivant est utilisé pour répertorier tous les liens dans urllist.txt.
<% @LANGUAGE = VBScript %>
<% Option explicite %>
<html><head><title>Utilisation du composant Content Linking</title></head>
<corps>
<h2>Table des matières : notez que le lien principal est le chapitre 2, vous devez cliquer dessus</h2>
<ul>
<%
Dim NextLink, Nombre
'Créer un composant de liaison de contenu
Définir NextLink = Server.CreateObject("MSWC.NextLink")
'Récupérer le nombre de liens dans le fichier urllist.txt
Nombre = NextLink.GetListCount("urllist.txt")
Dim url, Dscr, je
Pour I = 1 pour compter
url = NextLink.GetNthURL ("urllist.txt", I) 'Obtenir le lien hypertexte
Dscr = NextLink.GetNthDescription ("urllist.txt", I) 'Obtenir la description textuelle
Réponse.Écrivez "<li><a href = """ & url & """>" & Dscr & "</a>" & vbcrlf
Suivant
%>
</ul></body></html>
Ensuite, prenons wuf28.asp comme exemple pour illustrer comment passer automatiquement au chapitre précédent et au chapitre suivant.
<% @LANGUAGE = VBScript %>
<% Option explicite %>
<html><head><title>Faites attention à ce lien</title></head>
<corps>
<p>Voici le texte du chapitre 2......</p>
<% 'Chaque fichier contient la phrase suivante pour obtenir une liaison automatique%>
<!--#include file="wuf29.asp"-->
</body></html>
L'ajout de la dernière phrase ici peut réaliser un saut automatique. Le noyau est dans wuf29.asp.
<%
Dim NextLink, classement
Définir NextLink = Server.CreateObject ("MSWC.NextLink")
'Quel est le lien actuel dans urllist.txt ?
rang = NextLink.GetListIndex ("urllist.txt")
Réponse.Écrivez "<hr>"
Si (rang > 1) Alors 'rang = 1 il n'y a pas de page précédente
Response.Write "|<a href=""" & NextLink.GetPreviousURL("urllist.txt") & """>Chapitre précédent</a>|"
Fin si
If (rank < NextLink.GetListCount("urllist.txt")) Then 'le classement est à la fin, alors il n'y a pas de page suivante
Response.Write "|<a href=""" & NextLink.GetNextURL("urllist.txt") & """>Chapitre suivant</a>|"
Fin si
%>
Après avoir exécuté cet exemple, vous pourrez immédiatement vraiment comprendre le rôle de ce composant. En bref, il n'est pas nécessaire d'écrire "chapitre précédent" et "chapitre suivant" sur chaque page. Cela peut être fait entièrement via wuf29.asp. . Pas très pratique ? ! Sinon, ne serait-il pas trop gênant de modifier le lien manuellement ?
Vous devez maintenant comprendre qu'il existe un grand nombre de comptoirs gratuits, de forums de discussion gratuits, de forums de discussion gratuits, de réseaux d'échange de publicité, etc. sur Internet. Leurs principes ne sont rien de plus, il n'est donc pas nécessaire de les vénérer.