Os objetos ASP

ASP permite que você crie suas aplicações através de cinco objetos básicos, abaixo temos um resumo dos objetos ASP:

1-) O Objeto Application

O objeto Application pode ser usado para compartilhar informações entre todos os usuários de
uma determinado aplicativo. O aplicativo é definido como todos os arquivos .asp dentro do
diretório virtual e seus subdiretórios.

Sintaxe: Application.method

O objeto Application tem dois métodos, chamados Lock e Unlock. Como os dados são compartilhados
entre os usuários, esses métodos permitem que você bloqueie e desbloqueie efetivamente o acesso
ao objeto aplicativo, enquanto aplica alterações em suas variáveis.

Lock não permite que outros clientes modifiquem as propriedades do objeto Application.
Unlock permite que outros usuários modifiquem as propriedades do objeto Application.

Ele também permite que sejam criadas variáveis que estarão disponíveis para todos os usuários ao acessarem sua aplicação.Exemplo:

Application.Lock
Application("nome")= "Jose"
Application.Unlock
Lock bloqueia a aplicação e Unlock desbloqueia a aplicação durante uma atualização.

Eventos

O objeto Application possui os eventos : OnStart e OnEnd e são utilizados no arquivo Global.asa e são chamados apenas uma única vez.

OnStart - entra em funcionamento quando a solicitação do primeiro cliente é atendida.

OnEnd - É ativada quando a aplicação ASP é descarregada do servidor ou quando a aplicação é interrompida.

2-) Objeto Session

O objeto Session é semelhante ao objeto Application no sentido de que ele também contém eventos
dentro do arquivo global.asa. Entretanto, ao contrário do objeto Application , o objeto Session
armazena informacões de uma sessão de usuário em particular. Esse objeto persiste para a sessão
inteira e proporciona assim uma solução elegante para o problema comum da persistência do estado
- quando você precisa controlar um usuário de uma página da Web para a seguinte.

O servidor Web cria automaticamente um objeto Session quando uma página é requisitada pelo usuário
que ainda não tenha uma sessão. A sessão é destruida quando for abandonada ou quando expirar.

Sintaxe: Session|propriedade|metodo

A sintaxe para se definir uma variável dentro do objeto Session é a seguinte:

Session("nome_variavel") = variavel

Você pode então fazer referência ao valor da variável como segue:

MinhaVariavel = Session("nome_variavel")

Define também as variáveis para usuários individuais. É muito usado para armazenar valores informados em formulários, como o pedido de compras, informações cadastrais, etc..Exemplo:

<FORM>
<P><INPUT VALUE=<%=Session("Nome")%>>Nome:</P>
<P><INPUT VALUE=<%=Session("Endereço")%>Endereço:</P>
</FORM>
Cria um formulário e solicita ao usuário que informe o seu Nome e endereço.

Os dados serão armazenados nas variavéis
Nome e Endereço

Propriedades

O objeto Session possui as seguintes propriedades : CodePage, LCID, SessionID, Timeout

Eventos

O objeto Session possui os seguintes eventos : Session_OnEnd e Session_OnStart. Usados no arquivo Global.asa.

3-Objeto Request

Retorna os valores das requisições feitas pelo Navegador do cliente ao servidor durante
uma requisição HTTP.

Sintaxe : Request[.Collection](variável)

Cada requisição pode ter diversos parâmetros em diferentes categorias, e para tratar esta
quantidade de informação o objeto Request utiliza as Coleções (Collections) , que podem
ser vistas como vetores contendo um conjunto de informações.

As coleções do objeto Request são:

  1. ClientCertificate
  2. Cookies
  3. Form
  4. QueryString
  5. ServerVariables

Para acessar as informações de uma coleção podemos usar um loop ( For Each... Next ).

Um exemplo de utilização de Request usando a coleção Form é dada a seguir.

A coleção Form é utilizada com os formulários HTML, os quais são uma coleção de campos textos,
botões , caixas de seleção e outros controles que são usados para que o usuário possa preencher
e assim fornecer informações.

Sintaxe: Request.Form(parametro)[index][.count]

O parâmetro especifica o nome do elemento do formulário do qual é retornado o valor.
Quando um usuário submete uma informação em um formulário ela é controlada pela opção
action da tag Form (<form action="Teste1.asp" method="POST"> ) . A opção action é definida
para uma URL que aponta para um programa ou para um arquivo de script que processará as
informações .

Como a informação é enviada dependerá do método usado na tag form. Podemos usar o método GET
onde os nomes e valores dos campos são enviados como parâmetros e assim podem ser recuperados
pela coleção
QueryString, ou usamos o método POST e ai a informação é embutida no objeto Request e esta disponível via coleção Form.

Como exemplo podemos citar o preenchimento de um formulário onde o usuário fornece tres valores
: Windows 98 , Linux e DOS para o parâmetro Sistemas. Para retornar estes valores podemos usar
o script:
<%
For Each item In Request.Form("Sistemas")
Response.Write item & "<BR> "
Next
%>


A saída seria:

Windows98
Linux
DOS

O mesmo efeito seria obtido com o script:

<%
For I = 1 To Request.Form("Sistemas").Count
Response.Write Request.Form("Sistemas")(I) & " < BR > "
Next
% >

QueryString

Permite que você recupere as informações enviadas pelo cliente usando o método GET em um formulário ou via dados anexados a uma URL. Ele possui as seguintes propriedades: Item , Key e Count.

Assim para recuperar uma informação usando QueryString usamos:

variável = Request.QueryString("informação")

ServerVariables

Esta coleção permite , através de parâmetros predefinidos no contexto da solicitação , exibir informações sobre o ambiente Servidor/Cliente.

Abaixo temos algumas variáveis usadas na coleção ServerVariables:

Como Exemplo veremos um script que exibe as variáveis de um servidor da geocities:

<%= Request.ServerVariables("SERVER_NAME") %> retorna geocities.com

<%= Request.ServerVariables("REQUEST_METHOD") %> retorna GET

O exemplo a seguir usa a coleção ServerVariables para inserir o nome do Servidor em um hyperlink:

<A HREF = <A href="http://

4 - O Objeto Response

O objeto Response é usado para enviar informacões a um cliente e possuem apenas uma coleção ,
a coleção Cookies .

As propriedades do objeto Response são:

  1. Buffer
  2. CacheControl
  3. ContenType
  4. Expires
  5. ExpiresAbsolute
  6. Status

Sintaxe: Reponse.Coleção|propriedade|Metodo

A coleção Cookies do objeto Response determina o valor de um cookie. Se o cookie especificado não existir ele é criado, se existir o novo valor é atribuido ao cookie.

Sintaxe: Response.Cookies(cookie)[(chave)(.atributo] = valor

Cookie é o nome do cookie.
Chave é opcional, se especificado cookie é um dicionário.

Vejamos um exemplo com o objeto Response usando o método Write , o qual permite escrever textos na página gerada. Ex: Response.Write(" Olá ") escreve o texto - "Olá " na página gerada. Uma maneira simplificada de obter o mesmo resultado é escrever: ="Olá"

Sintaxe: Response.Write variant

Variant representa os dados que serão escritos. Pode ser qualquer tipo de dado suportado pelo
tipo de dado VARIANT do VBscript. Não pode conter o os caracteres "%>".
Exemplo:

1-) O script abaixo envia uma mensagem ao cliente:

<p> Ola , como vai ? seu nome e : <% Response.Write Request.Form("name") %>

Response.End irá encerrar todo o armazenamento de informações no Buffer de resposta e irá enviar o contéudo atual do buffer ao cliente.

5- O objeto Server

O objeto Server fornece métodos e propriedades que permitem interagir com a máquina em que seu
aplicativo está sendo executado - a saber, o servidor da Web.

Sintaxe: Server.method

O objeto Server tem uma propriedade ScriptTimeout e os quatro métodos a seguir: CreateObject,
HTMLEncode, MapPath e URLEncode.


A propriedade ScripTimeout do objeto Server especifica quantidade máxima de tempo que um script
pode rodar até terminar.

Sintaxe: Server.ScriptTimeout = numsegundos

Numsegundos determina o número máximo em segundos que o script pode rodar até terminar. O valor
padrão é de 90 segundos.

Exemplo:
1-) No código abaixo o script termina se o servidor levar mais que 30 segundos para processar
o script.
< % Server.ScriptTimeout = 30 %>

CreateObject

Instância um objeto no servidor permitindo que as propriedades e métodos do objeto sejam usadas na aplicação. É  usado também para instanciar componentes. Assim  para criar uma conexão  com um banco de dados ou um Recordset via ADO usamos:

Set objeto_conexão = Server.CreateObject("ADODB.Connection")

Set objeto_recordset = Server.CreateObject("ADODB.Recordset")

Para instanciar o componente Ad Rotator da ASP fazemos:

Set objeto_AdRotator = Server.CreateObject("MSWC.AdRotator")