Aula 4 do ASP: Componentes integrados do ASP
Autor:Eve Cole
Data da Última Atualização:2009-05-30 19:58:14
Nas três primeiras palestras, apresentamos principalmente os quatro objetos integrados fornecidos pelo ASP:
Objeto de resposta: envia informações ao navegador.
Objeto de solicitação: informações de acesso enviadas do navegador para o servidor (como obtenção de dados de formulário).
Objeto de sessão: armazena e lê informações específicas de conversa do usuário.
Objeto aplicativo: armazena e lê informações do aplicativo compartilhadas por todos os usuários.
Além disso, existem objetos Server e objetos ObjectContext que aprenderemos em exemplos futuros (dica: na verdade, você já pode usar o conhecimento que aprendeu para escrever uma sala de chat online sem perceber). O conteúdo desta palestra é o uso dos componentes (componentes) do servidor ActiveX do ASP.
1. Componente de recursos do navegador:
Sabemos que navegadores diferentes podem suportar funções diferentes. Por exemplo, alguns navegadores suportam frames e outros não. Usando este componente, você pode verificar os recursos do navegador para que sua página da web possa exibir páginas diferentes para navegadores diferentes (como exibir páginas da web sem Frame para navegadores que não suportam Frame). A utilização deste componente é muito simples. Deve-se ressaltar que para utilizar este componente corretamente, é necessário garantir que o arquivo Browscap.ini esteja atualizado (na verdade, todos os navegadores e seus recursos estão listados neste arquivo. Você irá entenda depois de abri-lo você mesmo), caso contrário, os resultados podem ser muito diferentes. Por exemplo, o IE5.0 incluído na segunda versão do Win98 é exibido como Netscape no exemplo a seguir. Este arquivo geralmente está localizado em "WinntSystem32InetSrv" no servidor Web. A versão mais recente pode ser baixada em http://www.asptracker.com/ ou http://www.cyscape.com/browscap.
Exemplo: wuf22.asp
<html>
<CORPO>
'Nota: O uso de componentes é semelhante ao de objetos, mas os componentes devem ser criados antes do uso e não há necessidade de criá-los antes de usar objetos integrados.
<%Set BrowsCap=Server.CreateObject("MSWC.BrowserType")%>
Por favor, aguarde......
<P>
<BORDA DA TABELA=1 CELLPADDING=10>
<TR><TD>Tipo de navegador</TD><TD><%=BrowsCap.Browser%></TD></TR>
<TR><TD>Versão do navegador</TD><TD><%=BrowsCap.version%></TD></TR>
<TR><TD>Se as tabelas são suportadas</TD><TD><%=BrowsCap.tables%></TD></TR>
<TR><TD>Se os controles ActiveX são suportados</TD><TD><%=BrowsCap.activexcontrols%></TD></TR>
<TR><TD>Se JavaApplets são suportados</TD><TD><%=BrowsCap.javaapplets%></TD></TR>
<TR><TD>Se JavaScript é compatível</TD><TD><%=BrowsCap.javascript%></TD></TR>
<TR><TD>Se os cookies são suportados</TD><TD><%=BrowsCap.Cookies%></TD></TR>
<TR><TD>Se os frames são suportados</TD><TD><%=BrowsCap.Frames%></TD></TR>
<TR><TD>Sistema operacional</TD><TD><%=BrowsCap.Platform%></TD></TR>
<TR><TD>Se o VBScript é compatível</TD><TD><%=BrowsCap.vbscript%></TD></TR>
</TABELA>
<%Definir BrowsCap = Nada%>
</BODY>
</HTML>
Nota: Neste exemplo também tocamos no método CreateObject do objeto Server Server.CreateObject é usado para criar componentes ActiveX que foram registrados no servidor (Nota: Existem outros métodos para criar componentes). Mas não se esqueça de usar "Set Object = Nothing" para liberar recursos a tempo. Isso deve se tornar um hábito.
2. Componente de acesso a arquivos
O componente File Access consiste em um objeto FileSystemObject e um objeto TextStream. Usando o objeto FileSystemObject, você pode criar, recuperar e excluir diretórios e arquivos, enquanto o objeto TextStream fornece a função de ler e gravar arquivos.
Exemplo wuf23.asp. Ênfase: Somente através da prática a compreensão pode ser aprofundada. Praticar e comparar os resultados da execução do programa é a melhor maneira de dominar rapidamente as habilidades de programação.
<%@Idioma=VBScript%>
<% Opção Explícita
' Observe o caminho absoluto: C:Inetpubhomeaspwuf23.asp Caminho da página inicial: C:Inetpubhome
Dim Caminho, Arquivo, FSO, CTF, Str, StrHTML, StrNoHTML
'Use o método CreateObject para criar o objeto FileSystemObject FSO
Definir FSO = Server.CreateObject("Scripting.FileSystemObject")
Path = Server.MapPath("test") 'Retorna o diretório físico do teste (caminho absoluto)
'No que diz respeito a este exemplo, a frase a seguir retorna exatamente o mesmo caminho da frase acima
'Caminho = Servidor.MapPath("aspteste")
Response.Write Caminho & "<Br>"
Se FSO.FolderExists(Path) = false então 'Determina se a pasta existe
FSO.CreateFolder(Path) 'Cria uma nova pasta
Terminar se
Arquivo = Caminho & "asptest.txt"
'Operação de gravação de arquivo
If FSO.FileExists(File) = True Then 'Determina se o arquivo existe
'Cria objeto TextStream CTF
Set CTF = FSO.OpenTextFile(File, 8, False, 0) 'Abra o arquivo, veja a descrição para detalhes
Outro
Definir CTF = FSO.CreateTextFile(File,False, False) 'Novo arquivo
Terminar se
CTF.Write "<P>A primeira string; " 'Escrever string
CTF.WriteLine "Segunda string; " 'Escreva a string e adicione um caractere de nova linha
CTF.Write "A terceira string;"
CTF.Close 'Nota para fechar o arquivo
'Operação de leitura de arquivo
Definir CTF = FSO.OpenTextFile(Arquivo, 1,,0)
Do While CTF.AtEndOfStream <> True 'Determina se o arquivo termina (instrução de loop)
Str = CTF.ReadLine 'Lê uma linha (de cada vez)
StrNoHTML = StrNoHTML & Str & "<BR>" & VbCrLf
StrHTML = StrHTML & Server.HTMLEncode(Str) & "<BR>" & VbCrLf
Laço
Response.Write StrNoHTML
Resposta.Write StrHTML
CTF.Fechar
Set CTF = Nothing 'Libera o objeto
Definir FSO = Nada
%>
CTF = FSO.OpenTextFile(File, 8, False, 0), o primeiro parâmetro entre colchetes é o nome do arquivo, o segundo parâmetro é 8, o que significa anexar o conteúdo após o arquivo original. -only, e se for 2, irá reescrever o arquivo original; o terceiro parâmetro false significa que se o arquivo especificado não existir, o arquivo não será criado, se for True, significa que o arquivo especificado não existe; existir, então o arquivo será criado; o quarto parâmetro 0 significa que será aberto no formato de arquivo ASCII. Se for -2, significa abrir no formato original.
CTF = FSO.CreateTextFile(File,False, False), o segundo parâmetro false significa não sobrescrever o arquivo existente, se for True significa sobrescrever (OverWrite) o terceiro parâmetro false significa que o formato do arquivo é ASCII; , sendo True indica que o formato do arquivo é Unicode.
O método MapPath do objeto Server converte o caminho virtual especificado em um caminho de arquivo real. MapPath trata os caracteres "/" e "" da mesma forma.
O método HTMLEncode do objeto Server permite codificar em HTML uma string específica ou permitir que o navegador exiba caracteres específicos corretamente. No exemplo acima, se não estiver codificado, "<P>" não será exibido, mas será tratado como uma tag HTML pelo navegador. Você pode comparar os resultados da execução.
Na verdade, o componente File Access é relativamente poderoso para operar arquivos, pastas e unidades e também fornece mais métodos. Se precisar usar esse conhecimento, não se esqueça de usá-lo.
Além disso, agora, escrever um contador de páginas da web é muito fácil. Não é de admirar que tantas páginas da web ofereçam contadores gratuitos. Que tal? Tente escrever você mesmo um contador gráfico. Você pode trapacear o quanto quiser. (Segredinho: tenho uma instância wuf24.asp na minha página inicial)
3. AD Rotator (componente de inversão de publicidade)
Hoje em dia, quando navego na Internet, o que mais odeio são os banners publicitários nas páginas iniciais de outras pessoas, e o que mais gosto são os banners publicitários na minha própria página inicial. Os banners publicitários estão por toda parte como spam e são difíceis de proteger. Você também pode criar esse tipo de lixo. O componente AD Rotator do ASP pode exibir anúncios aleatoriamente sempre que você abrir ou recarregar uma página da web. Este exemplo consiste em três partes:
Rotina wuf25.asp
<%@Idioma=VBScript%>
<% Opção Explícita
Dim endereço
'Criar objeto AD Rotator
Definir adr = Server.CreateObject("MSWC.AdRotator")
adr.Border = 2 'Especifique o tamanho da borda do arquivo gráfico
adr.Clickable = True 'Indica se a imagem exibida é um hiperlink
adr.TargetFrame = "_blank" 'Defina o hiperlink para especificar o nome do quadro, como: _TOP _NEW _PARENT
'Obtenha as configurações de imagem e hiperlink a serem exibidas - definidas no arquivo AdrSet.txt
Response.Write adr.GetAdvertisement("AdrSet.txt")
%>
Conteúdo de AdrSet.txt (seguido de comentários, não do conteúdo deste arquivo):
REDIRECIONAR wuf26.asp Após clicar no anúncio, ele será processado por wuf26.asp
LARGURA 468 Largura da imagem do anúncio
HEIGHT 60 Altura da imagem publicitária
* separador
A localização da imagem publicitária, que também pode ser um arquivo gráfico local
http://www.163.com/ aponta para o link. Se não houver hiperlink, escreva um "-"
Descrição de texto do NetEase
20 mostra o peso relativo do anúncio, ou seja, a frequência de exibição
http://www.sina.com.cn/
sina.com
30
http://www.canon.com.cn/
Cânone
50
Neste exemplo, existem três imagens (tamanho da imagem 468X60) e links. A descrição de cada link ocupa quatro linhas.
<% 'wuf26.asp
URL = Request.QueryString("url")
Resposta.Redirecionamento(URL)
%>
wuf26.asp é o programa de processamento mais simples, você pode adicionar mais código aqui de acordo com as necessidades reais.
Execute-o e descobrirá que o uso deste componente também é muito simples. Tudo o que você precisa fazer é obter seu próprio arquivo AdrSet.txt. Usando este componente, você pode até criar uma página inicial do Ad Exchange que agora está muito na moda.
4. Componente de vinculação de conteúdo Obviamente, este componente está relacionado a links. Se você quiser saber imediatamente o uso específico deste componente, receio que seja muito precipitado. Você também pode citar um exemplo clássico primeiro: Suponha que você esteja lendo um. livro na Internet, você não deve estar familiarizado com os seguintes links: Capítulo 1, Capítulo 2,..., capítulo anterior, próximo capítulo (ou página anterior, próxima página), etc. O que precisamos fazer agora é configurar saltos entre esses links de maneira fácil e rápida.
Primeiro crie um arquivo de texto de lista de links, como urllist.txt
wuf23.asp Capítulo 1: Operações de arquivo (componente de acesso a arquivos)
wuf28.asp Capítulo 2: Exemplo de uso do componente Content Linking
wuf22.asp Capítulo 3: Capacidade do navegador Link do componente O endereço URL e a descrição são separados pela tecla Tab. O seguinte wuf27.asp é usado para listar todos os links em urllist.txt.
<% @LANGUAGE = VBScript%>
<% Opção Explícita %>
<html><head><title>Uso do componente de vinculação de conteúdo</title></head>
<corpo>
<h2>Índice: Observe que o link principal é o Capítulo 2, você deve clicar nele</h2>
<ul>
<%
Dim NextLink, contagem
'Criar componente de vinculação de conteúdo
Definir NextLink = Server.CreateObject("MSWC.NextLink")
'Obtém o número de links no arquivo urllist.txt
Contagem = NextLink.GetListCount("urllist.txt")
URL escuro, Dscr, eu
Para I = 1 para contar
url = NextLink.GetNthURL ("urllist.txt", I) 'Obter hiperlink
Dscr = NextLink.GetNthDescription ("urllist.txt", I) 'Obter descrição do texto
Response.Write "<li><a href = """ & url & """>" & Dscr & "</a>" & vbcrlf
Próximo
%>
</ul></body></html>
Em seguida, tome wuf28.asp como exemplo para ilustrar como pular automaticamente para o capítulo anterior e para o próximo capítulo.
<% @LANGUAGE = VBScript%>
<% Opção Explícita %>
<html><head><title>Preste atenção neste link</title></head>
<corpo>
<p>Aqui está o texto do Capítulo 2......</p>
<% 'Cada arquivo contém a seguinte frase para obter vinculação automática%>
<!--#include file="wuf29.asp"-->
</body></html>
Adicionar a última frase aqui pode realizar o salto automático. O núcleo está em wuf29.asp.
<%
Dim NextLink, classificação
Definir NextLink = Server.CreateObject ("MSWC.NextLink")
'Qual é o link atual em urllist.txt?
classificação = NextLink.GetListIndex ("urllist.txt")
Resposta.Escreva "<hr>"
Se (classificação > 1) Então 'classificação = 1 não há página anterior
Response.Write "|<a href=""" & NextLink.GetPreviousURL("urllist.txt") & """>Capítulo anterior</a>|"
Terminar se
If (rank < NextLink.GetListCount("urllist.txt")) Then 'rank está no final, então não há próxima página
Response.Write "|<a href=""" & NextLink.GetNextURL("urllist.txt") & """>Próximo capítulo</a>|"
Terminar se
%>
Depois de executar este exemplo, você será capaz de entender verdadeiramente a função deste componente. Resumindo, não há necessidade de escrever "capítulo anterior" e "próximo capítulo" em cada página. Isso pode ser feito completamente através do wuf29.asp. . Não é muito conveniente? ! Caso contrário, não seria muito problemático modificar o link manualmente?
Agora você deve entender que existe um grande número de balcões gratuitos, painéis de mensagens gratuitos, salas de bate-papo gratuitas, redes de troca de publicidade, etc. na Internet. Seus princípios nada mais são do que isso, então não há necessidade de adorá-los.