Lorsque vous écrivez des applications côté serveur à l'aide d'ASP, vous devez compter sur les composants ActiveX vers des fonctions de puissantes applications Web, telles que: vous devez vous connecter à la base de données, faire fonctionner la base de données en ligne, etc.
Dans les deux articles précédents, l'auteur a introduit les méthodes d'utilisation du rotateur de la publicité, de l'accès à la base de données et d'autres composants.
1. Les composants des capacités du navigateur sont bien connus, et tous les navigateurs ne prennent pas en charge tous les aspects de la technologie Internet d'aujourd'hui. Il existe certaines fonctionnalités que certains navigateurs prennent en charge, mais d'autres ne le font pas, comme: les contrôles ActiveX, les flux d'images, les programmes dynamiques HTML, Flash et Scripting. En utilisant le composant Capacités du navigateur d'ASP, vous pouvez concevoir des pages Web intelligentes pour présenter du contenu dans un format qui convient aux performances du navigateur. Le composant Capacités du navigateur est capable de créer un objet BrowserType qui fournit des scripts utilisateur avec des descriptions fonctionnelles du navigateur Web client. La raison pour laquelle ce composant peut reconnaître la version du navigateur client est principalement parce que lorsque le navigateur client envoie une demande de page au serveur, il enverra automatiquement un titre d'agent utilisateur HTTP, qui est un caractère ASCII qui déclare le navigateur et sa version . chaîne. Le composant Capacités du navigateur mappe l'agent utilisateur au navigateur indiqué dans le fichier BrowsCap.ini et identifie le navigateur client via les propriétés de l'objet BrowserType. Si l'objet ne peut pas trouver un élément qui correspond au titre dans le fichier Browser.ini, les propriétés du navigateur par défaut seront utilisées. Si l'objet n'a ni une correspondance trouvée et que les paramètres du navigateur par défaut sont spécifiés dans le fichier Browser.ini, il définit chaque propriété sur la chaîne inconnue. Par défaut, le fichier Browser.ini est stocké dans le répertoire Windows / System / INERSRV (IF 95/98 + PWS4) ou NT / System32 / INERSRV (IF NT), vous pouvez modifier ce fichier texte vous-même pour ajouter le fichier par le fichier par Ses propres attributs ou basés sur le dernier fichier de mise à jour de la version du navigateur publié. Veuillez consulter le processus CheckCooKie () suivant, utilisez l'attribut cookie de l'objet Browsercap pour déterminer si le navigateur client prend en charge les cookies et les informations de retour:
<%
Sub Checkcookie ()
SET BROWSERCAP = Server.CreateObject (MSWC.BrowserType)
Si browsercap.cookie = true alors
Response. Écrivez votre navigateur prend en charge les cookies!
autre
Response.Write Désolé, le navigateur que vous utilisez ne prend pas en charge les cookies!
terminer si
Sub-Sub
%>
Pour plus d'informations sur le composant Capacités du navigateur, voir Dynamic Site Intercène Conception de dix-huit arts martiaux-ASP (2).
2. Composant d'accès aux fichiers Si vous êtes assez vieux dans le réseau, vous devez avoir vu le livre d'or CGI dans l'ère Dinosaur, qui est le premier prototype du livre d'or. À cette époque, il était très difficile de se connecter à la base de données du serveur Backend dans les applications Web basées sur Internet, de sorte que les informations historiques du livre d'or ont été stockées dans la base de données backend telle qu'elle est aujourd'hui. Alors, où ces données sont-elles stockées? La réponse est un fichier texte. Les informations des clients peuvent être enregistrées, mais la rédaction de ces programmes CGI est très lourd.
#! / usr / local / bin / perl
# Perl Emplacement un votre serveur
Imprimer le type de contenu: texte / plaine / n / n;
if ($ env {'request_method'} eqpost) {
read (stdin, $ buffer, $ env {'content_length'});
} elsif ($ env {'request_method'} eqget) {
$ buffer = $ env {'query_stirng'};
}
@ paires = Split (/ & /, $ buffer);
foreach $ pair (@pairs) {
($ name, $ value) = split (/ = /, $ pair);
$ value = ~ tr / + //;
$ value = ~ s /% ([af af 0-9] [af af 0-9]) / pack (c, hex (1 $)) / par exemple;
$ Form {$ name} = $ valeur;}
$ file_name = gattebook.txt; #file nom
# Contenu spécifique
Ouvrir (fichier, >> $ file_name) || Die Error en ouvrant le fichier;
Heure d'enregistrement des fichiers d'impression: $ Date / N / N;
Nom du fichier d'impression: $ form {'name'};
Unité de fichier d'impression: $ form {'Company'} / n;
Téléphone de fichier d'impression: $ form {'téléphone'}
Adresse du fichier d'impression: $ form {'adresse'} / n;
Imprimer le code postal du fichier: $ form {'zip'}
Imprimer l'adresse e-mail du fichier: $ form {'email'} / n;
Renvoi du fichier d'impression Commentaire: $ form {'contenu'}
Fermer (fichier)
Vous pouvez sentir que par rapport à l'ASP, ce type de programme CGI est plus pauvre en matière de lisibilité et d'opérabilité. Ensuite, vous devez vous demander si ASP peut également écrire des fichiers directement sur le serveur? La réponse est bien sûr oui. Mais les amis intelligents peuvent penser que la connexion entre ASP et la base de données Web est si pratique, pourquoi devons-nous rédiger des informations clients dans les fichiers texte? En effet, pour les applications Web courantes telles que les livres d'hôtes et les BB, nous ne pouvons pas remplacer la base de données par la rédaction de fichiers texte en termes d'efficacité d'exécution de programme ou de facilité d'utilisation, mais dans certaines applications Web, écrivant des fichiers texte dans le domaine, est à la fois standardisé et un Méthode relativement pratique par rapport à une base de données. Si vous connaissez NT, vous devez savoir que NT a un mécanisme de sécurité très puissant, qui peut enregistrer automatiquement toutes les opérations de serveur et les informations de connexion dans un fichier avec le nom de suffixe .log. Peut être utilisé sur le Web pour enregistrer certaines informations de connexion client. Le programme suivant utilise la fonctionnalité des fichiers texte de lecture et d'écriture ASP pour créer une fonction qui enregistre automatiquement les enregistrements de la parole de chaque utilisateur dans un programme BBS Web.
<%
Set fs = createObject (scripting.fileSystemObject)
Forreading = 1
«Ouvrez le fichier en mode en lecture seule. Ce fichier ne peut pas être écrit.
Pour une apprentissage = 8
«Ouvrez le fichier et écrivez-le à la fin du fichier.
TristateUsefault = -2
TriStateTrue = -1
TRISTATEFALSE = 0
'------------------------------
servermap = server.mappath (/ bbs / log /)
'Mapping System Physical Chemin
temp = servermap & / & an (date) & mois (date) & /
'Obtenez le chemin physique et l'heure du système et utilisez-le comme chemin physique stocké dans le fichier journal
Si ce n'est pas Fs.folderexists (temp) alors
Fs.CreateFolder (TEMP)
terminer si
'Vérifiez si le dossier existe, sinon il sera automatiquement créé
sombre syslog
Tempname DIM
tempname = date
syslog = temp & tempname & .log
'Le nom du fichier est e: / bbs / log / mois / jour du jour.log
li = user &&& maintenant && request.servervariables (reote_addr) && tempfile &&& lettre && title
«Le format d'enregistrement du fichier journal est: nom d'utilisateur et envoi de temps et de trajet IP et de fichier de l'utilisateur et le titre de la zone et de la lettre
Si fs.fileexists (syslog) alors
SET SS = FS.OPENEXTFILE (SYSLOG, FORPENSE, TRUE)
autre
set ss = fs.createtextfile (syslog, forwriting, false)
terminer si
«Vérifiez si le fichier journal existe.
SS.WriteLine (L
je)
SS.CLOSE
'------------------------------------------------- -------------------------------------------------- --------------------------
%>
Si vous ne comprenez pas pleinement le programme ci-dessus, veuillez écouter les instructions de l'auteur. Le composant d'accès aux fichiers fournit des méthodes et des propriétés qui peuvent être utilisées pour accéder au système de fichiers d'un ordinateur. Nous pouvons utiliser le composant d'accès aux fichiers pour créer un objet FileSystemObject. Une fois l'objet créé, vous pouvez accéder au fichier via lui. Il existe deux méthodes les plus couramment utilisées pour l'objet FileSystemObject, l'un est utilisé pour créer des fichiers, et l'autre est utilisé pour ouvrir et lire et écrire des fichiers texte. La méthode CreateTextFile obtient le nom de fichier que vous avez spécifié et crée le fichier.
Définir objTextStream = FileSystemObject.CreateTextFile (nom de fichier, [écraser], [Unicode])
L'auteur expliquera les paramètres de la méthode CreateTextFile ci-dessous
1. Nom de fichier Une chaîne contenant le nom du chemin de fichier peut être le nom du chemin complet du fichier, y compris le nom du lecteur et le nom du répertoire, ou il peut être juste un nom de fichier. dans le répertoire racine du site.
2. Écraser la quantité booléenne. Le nom sera supprimé.
3. Paramètres facultatifs UNICODE. Les valeurs booléennes indiquent s'il faut créer un fichier au format de fichier Unicode ou ASCII. Cette valeur est vraie si un fichier est créé au format de fichier Unicode, et faux si un fichier est créé au format de fichier ASCII. Si cette section est omise, un fichier ASCII est supposé être créé.
Dans le programme précédent, nous utilisons SET SS = Fs.CreateTextFile (Syslog, ForWriting, False) pour créer un fichier et écrire un fichier lorsque le fichier journal n'existe pas ici.
Contrairement à la méthode CreateTextFile, la méthode OpenTextFile est utilisée pour obtenir le nom de fichier que vous avez spécifié et ouvrir le fichier. afin que vous puissiez utiliser le fichier après son ouverture. La syntaxe de la méthode OpenTextFile est la suivante:
Définir objTextStream = FileSystemObject.OpenSExtFile (nom de fichier, [iomode], [Create], [Format])
Les paramètres sont les suivants:
1. Le nom de fichier est la variable nécessaire, comme le nom de fichier de CreateTextFile
2. Iomode Constante facultative, avec la valeur comme l'une des deux constantes suivantes Forreading ou For Apening.
3. Créez une quantité booléenne facultative, spécifiant la fonctionnalité que le fichier que vous souhaitez ouvrir n'existe pas. Si faux, un message d'erreur sera généré lorsque le fichier n'est pas trouvé.
4. Format Valeur facultative, vous pouvez sélectionner trois valeurs Tristate pour spécifier le format du fichier, respectivement.
Après avoir ouvert ou créé un fichier texte, vous obtenez un objet TextStream, qui a un curseur, tout comme un curseur dans un programme de traitement de texte, indiquant où le caractère à taper apparaîtra, et il indique également l'emplacement du caractère que vous souhaitez lire. Vous ne pouvez pas créer un objet TextStream via CreatObject.
Les propriétés et les méthodes de l'objet TextStream sont répertoriées ci-dessous
TextStream.a
TendoFline en lecture seule quantité booléenne, lorsque le curseur est à la fin de la ligne actuelle, sa valeur est vraie, sinon elle est fausse
TextStream.AtendOfStream Read only Boolean Quantité, si le curseur est à la fin du flux, sa valeur est vraie, sinon elle est fausse
TextStream.Column Read only Integer, comptant le nombre de caractères du début de la ligne à la position actuelle du curseur
TextStream.line en lecture seule indiquant le numéro de ligne de la ligne du curseur dans l'ensemble du fichier
TextStream.close () fermer le flux et le fichier texte correspondant
TextStream.read (num) spécifie qu'un certain nombre de caractères sont lus à partir du fichier texte à partir de la position actuelle du curseur.
TextStream.readall () lit l'ensemble du flux dans une chaîne
TextStream.readline () lit une ligne de caractères entière dans une chaîne
TextStream.write (texte) Écrivez une chaîne au flux
TextStream.WriteLine () écrit une chaîne de texte au flux
TextStream.skip (num) Dans un flux, déplacez la position du curseur par un certain nombre de longueurs de chaîne
TextStream.SkiPlines () Dans un flux, déplacez le curseur vers un certain nombre de lignes
TextStream.writeblank écrit un certain nombre de lignes vides vers le flux
lignes (num)
Je crois que tout le monde peut maintenant ressentir les fonctions puissantes du composant d'accès ASP. Sur le serveur distant, lisez le fichier via le composant d'accès au fichier et générez automatiquement une nouvelle page HTML, sans avoir à travailler dur pour mettre à jour les fichiers HTML un par un. Si vous êtes intéressé, vous pouvez utiliser le composant d'accès aux fichiers d'ASP pour rédiger votre propre générateur HTML entièrement automatique pour profiter pleinement du sentiment avancé et facile de maintenir le site Web.