A partir deste artigo, o autor começa com objetos internos da ASP e analisa os recursos e métodos dos seis objetos internos e vários componentes do ASP para você em detalhes.
Antes de começar oficialmente a aprender os objetos e componentes internos do ASP, vamos primeiro entender alguns conceitos básicos, que serão de grande ajuda para o seu futuro aprendizado. Por favor, veja a tabela abaixo:
Servidor ativo Uma coleção de tecnologias do lado do servidor entregues com o Windows NT. Essas tecnologias fornecem componentes consistentes do lado do servidor, modelos de script e um serviço de sistema integrado para gerenciamento de aplicativos de componentes, acesso ao banco de dados, transações e mensagens.
Páginas de servidor ativo (ASP) Um ambiente de script do lado do servidor que executa scripts ActiveX e componentes ActiveX no servidor. Os desenvolvedores podem combinar scripts e componentes para criar aplicativos baseados na Web.
O ActiveX permite que os desenvolvedores criem componentes interativos para a World Wide Web com termos técnicos ricos da Microsoft. Um conjunto de tecnologias de interoperabilidade independentes da linguagem que permitem que componentes de software escritos em diferentes idiomas trabalhem juntos em um ambiente de rede. Os elementos -chave do ActiveX são o modelo de objeto componente (COM) e o modelo de objeto componente distribuído (DCOM). Essas tecnologias foram licenciadas por organizações abertas e foram portadas para muitas plataformas.
Objeto de dados ativo da ADO. Um conjunto de interfaces de acesso a dados baseadas em objetos otimizados para aplicativos centrados em dados baseados na Internet. A ADO é baseada nas especificações publicadas e vem com o Microsoft Internet Information Server e o Microsoft Visual Interdev.
Nome da fonte de dados DSN. Uma interface de banco de dados aberta (ODBC) é usada para consultar o nome lógico do driver ou outras informações necessárias para acessar dados. O nome do servidor de informações da Internet que é usado para se conectar a uma fonte de dados ODBC, como um banco de dados do SQL Server.
Evento: qualquer ação a que o evento seja respondido por um programa gerado por um usuário ou controle ActiveX. Os eventos gerais incluem pressionar a tecla do teclado, clicar no botão de seleção usando o mouse e outras operações do mouse. Os programadores escrevem código que responde a essas operações.
Objeto: um objeto é uma variável composta por operações e dados que são considerados entidades completas na programação orientada a objetos. Os objetos são baseados em um modelo específico no qual os clientes usam os serviços do objeto para acessar os dados do objeto através de uma interface de um conjunto de métodos ou funções relacionadas. O cliente pode então chamar esses métodos para executar alguma operação.
Interface de banco de dados ODBC Open. Interface de programação de aplicativos que permite que os aplicativos acessem dados de fontes de dados existentes especificações padrão para vários dados de dados de plataforma cruzada.
Linguagem de consulta estruturada de consulta estruturada SQL. Padrões internacionais para definir e acessar bancos de dados relacionais.
O que é um objeto? Não se refere ao companheiro masculino ou feminino que você está apaixonado. Na programação orientada a objetos, um objeto refere-se a uma variável composta por operações e dados considerados como entidades completas. Os objetos são baseados em um modelo específico no qual o cliente usa o serviço do objeto para acessar os dados do objeto através de uma interface de um conjunto de métodos ou funções relacionadas, e o cliente pode chamar esses métodos para executar alguma operação. Os componentes ActiveX são essenciais para criar aplicativos da Web e os componentes fornecem objetos que executam tarefas nos scripts. Um componente ActiveX é um arquivo que contém código que executa um determinado item ou conjunto de tarefas. Os componentes podem ser aproveitados como blocos básicos de construção para scripts e aplicativos baseados na Web. Desde que você saiba como acessar objetos fornecidos por um componente, mesmo um novato no script pode escrever scripts sem entender como os componentes funcionam. Em resumo, os componentes permitem escrever scripts poderosos sem aprender programação. Os componentes são o código executável contido na biblioteca de link dinâmica .dll ou arquivo executável .exe. Os componentes podem fornecer um ou mais objetos, bem como métodos e propriedades dos objetos. Para usar o objeto fornecido pelo componente, crie uma instância do objeto e atribua à nova instância o nome da variável. Use o método do servidor.CreateObject do ASP para criar uma instância de um objeto e use a diretiva de atribuição da variável do idioma de script para nomear a instância do objeto. Conforme mostrado no exemplo a seguir:
Set db = server.createObject (adodb.connection)
O banco de dados variável aqui está uma instância do objeto que acessa o banco de dados criado pelo programa ASP.
As páginas do servidor ativo fornecem objetos internos que podem ser usados nos scripts. Esses objetos facilitam para os usuários coletar informações enviadas através de solicitações do navegador, responder aos navegadores e armazenar informações do usuário, liberando os desenvolvedores de objetos de muitos trabalhos tediosos. A versão ASP atual fornece um total de seis objetos internos.
1. Objeto de solicitação
Você pode usar o objeto Solicitação para acessar todas as informações passadas em qualquer solicitação HTTP, incluindo parâmetros, cookies e autenticação de usuário passada de tabelas HTML usando o método POST ou GET. O objeto de solicitação permite acessar dados binários enviados pelo cliente ao servidor.
Sintaxe de solicitação:
Solicitação [.
Aqui o autor selecionará algumas gramáticas de objeto comumente usadas para análise
1. Forma
A coleção de formulários recupera os valores dos elementos da tabela enviados ao corpo da solicitação HTTP usando o método post.
gramática
Request.form (element) [(index) | .Count]
parâmetro
O elemento especifica o nome do elemento da tabela para recuperar a coleção.
ÍNDICE parâmetro opcional, que permite acessar um dos vários valores em um parâmetro. Pode ser qualquer número inteiro entre 1 e request.form (parâmetro) .Count.
Contagem número de elementos na coleção
A coleção de formulários é indexada pelo nome do parâmetro no órgão de solicitação. O valor do request.form (elemento) é uma matriz de todos os valores dos elementos no corpo da solicitação. Determine o número de valores no parâmetro chamando a solicitação.form (element) .count. Se o parâmetro não associar vários valores, a contagem será 1. Se o parâmetro não for encontrado, a contagem será 0. Para fazer referência a um único valor em um elemento de tabela com vários valores, o valor do índice deve ser especificado. O parâmetro de índice pode ser qualquer número de 1 a request.form (element) .count. Se um dos múltiplos parâmetros da tabela for referenciado e o valor do índice não for especificado, os dados retornados serão uma sequência separada por vírgula.
Você pode usar o Restater para exibir todos os valores de dados em uma solicitação de tabela.
Para o parâmetro de hobby, você pode recuperar esses valores usando o script abaixo. <html> <head> <title> </title> < /head> <body> <p> Por favor, preencha seus hobbies </p> <form method = post action = form.asp> <p> <entrada de entrada = Nome do texto = Tamanho do hobby = 20> <BR> <Tipo de entrada = Nome da caixa de seleção = Valor do hobby = futebol> futebol <Tipo de entrada = Nome da caixa de seleção = Valor do hobby = tênis de tabela> tênis de tabela </p> <p> <Tipo de entrada = Valor de envio = envio Nome = B1> <Tipo de entrada = Valor de Redefinição = Nome do Reabastecimento = B2> </p> < /form> < % para cada i no request.form (hobby) Response.Write i & <BR> Próximo % > </body> </html>
Descobra o código acima no bloco de notas (observe que você remove os espaços depois de <), salve -o como um arquivo Form.asp e execute -o. a forma.
Obviamente, o uso do loop for ... o próximo também pode gerar a mesma saída, como mostrado abaixo:
< %
Para i = 1 para solicitar.form (hobby) .count
Response.write request.form (hobby) (i) & <br> próximo
%>
2. Querystring
A coleção de consultas recupera o valor de uma variável em uma sequência de consulta HTTP. como:
<A href = exemplo.asp? String = Esta é uma amostra> amostra de string < /a>
Gera uma string de nome variável com o valor que este é uma amostra. As cadeias de consultas também podem ser geradas enviando uma tabela ou pelo usuário digitando uma consulta na caixa de endereço do navegador.
gramática
Request.QueryString (variável) [(index) | .Count]
A coleção de consultas permite recuperar a variável Query_string por nome. O valor do request.QueryString (parâmetro) é uma matriz de valores de todos os parâmetros que aparecem no query_string. Você pode determinar quantos valores o parâmetro tem chamando a solicitação.QueryString (parâmetro) .Count.
Também podemos usar o querystring para obter a mesma funcionalidade do exemplo anterior. Basta substituir o request.form parcialmente da seguinte forma:
< %
Para cada i em solicitação.QueryString (hobby)
Response.Write i & <BR>
Próximo
%>
3. Cookies
O que é um cookie? esta marca. Cada site tem sua própria tag e o conteúdo marcado pode ser lido a qualquer momento, mas só pode ser feito pelas páginas desse site. Os cookies para cada site existem em arquivos diferentes na mesma pasta que os cookies para todos os outros sites (você pode encontrá -los na pasta Cookies no diretório do Windows). Um cookie é uma tag que identifica exclusivamente um cliente. O conjunto de cookies fornecido por solicitação permite que os usuários recuperem o valor de um cookie enviado em uma solicitação HTTP. Esse recurso é frequentemente usado em programas ASP, como exigir senhas autenticadas de clientes e quadros de avisos eletrônicos, salas de bate -papo na web etc.
gramática
Request.cookies (cookie) [(chave) | .Attribute]
parâmetro
Cookie especifica o cookie cujo valor você deseja recuperar.
Parâmetro opcional da chave para recuperar o valor de uma subchetaword do dicionário de cookies.
Attribe especifica as informações do próprio cookie. Por exemplo: o Haskeys é somente leitura, especificando se o cookie contém palavras-chave.
As subsequedas do dicionário de cookies podem ser acessadas incluindo um valor de chave. Se uma chave não for especificada ao acessar o dicionário de cookies, todas as palavras -chave serão retornadas como uma única string de consulta. Por exemplo, se o MyCookie tiver duas palavras -chave, primeiro e segundo, e ninguém é especificado ao chamar solicitação.cookies, a string a seguir será retornada.
Primeiro = FirstKeyValue & Second = SecondKeyValue
Se o navegador do cliente enviar dois cookies com o mesmo nome, o request.cookie retornará aquele com a estrutura mais profunda do caminho. Por exemplo, se houver dois cookies com o mesmo nome, mas um deles tem um atributo de caminho de/www/e o outro é/www/home/, o navegador do cliente envia os dois cookies para o/www/home/diretório em Ao mesmo tempo, o request.cookie retornará apenas o segundo cookie.
Para determinar se um cookie é um dicionário de cookies (se um cookie tem palavras -chave), use o script a seguir.
< %= Request.cookies (mycookie) .haskeys %>
Se o Mycookie é um dicionário de biscoitos, a tarefa anterior é verdadeira. Caso contrário, é falso. Vamos dar uma olhada em um exemplo de biscoito:
< %
apelido = request.form (nick) resposta.cookies (nick) = apelido
'Use o objeto de resposta para escrever o nome de usuário no cookie
Response.Write Welcome & Request.Cookies (Nick) e para o site!
%>
<html> <head> <meta http-equiv = content-type content = text/html;
<title> cookie </title>
<meta nome = conteúdo do gerador = Microsoft Frontpage 3.0> </ad Head>
<Body>
<Form Method = Post Action = Cookie.asp>
<p> <Tipo de entrada = Nome do texto = Nick size = 20>
<Tipo de entrada = Valor de envio = Enviar Nome = B1> <Tipo de entrada = Valor de Redefinição = Nome do Refil
< /body> </html>
Este é realmente um método comum nos programas BBS baseados na Web ou ASP de bate-papo.
4. ServerVariables
Todo mundo sabe que o protocolo de transmissão usado ao navegar nas páginas da web em um navegador é HTTP. Para fazer respostas diferentes, você precisa usar a coleção ServerVariables para obter as informações necessárias.
gramática
Request.Servervariables (variável de ambiente do servidor)
Devido ao grande número de variáveis de ambiente do servidor, o autor lista apenas algumas variáveis comumente usadas na tabela a seguir:
| All_http | Todos os arquivos de cabeçalho HTTP enviados pelo cliente. |
| Content_length | O comprimento do conteúdo emitido pelo cliente. |
| Content_type | O tipo de conteúdo de dados. Por exemplo: texto/html. Usado com consultas de informações adicionais, como consultas HTTP Get, Post e Put. |
| LOCAL_ADDR | Retorna o endereço do servidor que aceitou a solicitação. Essa variável é muito importante se você procurar o endereço usado pela solicitação em uma máquina multi-host que vincule vários endereços IP. |
| Logon_user | O usuário faz login na conta do Windows NT. |
| Query_string | Consulte as informações após o ponto de interrogação (?) Na solicitação HTTP. |
| Remote_addr | O endereço IP do host remoto (cliente) que emitiu a solicitação. |
| Remote_host | O nome do host (cliente) que emitiu a solicitação. Se o servidor não tiver essas informações, ele será definido como a variável MOTE_ADDR vazia. |
| Request_method | Este método é usado para fazer uma solicitação. É equivalente a obter, cabeça, postar, etc. usado para HTTP. |
| Server_name | O nome do host do servidor, pseudônimo DNS ou endereço IP que aparece no URL auto-referenciado. |
| Server_port | O número da porta para enviar a solicitação. |
Podemos imprimir todas as variáveis de ambiente do servidor usando o seguinte script.
<Tabela>
<tr> <td> <b> Variável do servidor </b> </td> <td> <b> valor </b> </td> </tr> < % para cada nome em request.Servervariables %>
<tr> <td> < %= name %> </td> <td> < %= request.Servervariables (nome) %> </td> </tr> < /tabela>
< %A seguir %>
Hoje, aprendemos em detalhes o objeto de solicitação em objetos internos da ASP, que também é o objeto mais usado nos programas ASP.