Este documento fornece um resumo de um livro sobre desenvolvimento de sites dinâmicos com ASP 3.0. Ele inclui um prefácio, agradecimentos, biografia do autor e sumário dos capítulos. O sumário lista os tópicos cobertos em cada capítulo, incluindo introduções à tecnologia ASP e VBScript, desenvolvimento de aplicações web dinâmicas e o modelo de objetos do ASP 3.0.
3. Sumário
Créditos
Produção
Alexandre Ramires
Carlos Alberto Sá Ferreira
Revisão
Vanessa Garcia
Arte e Diagramação
Ingo Bertelli
Supervisor de Produção
Carlos Alberto Sá Ferreira
Capa
Ingo Bertelli
Editora de Produção
Gisella Narcisi
Editor Responsável
Ricardo Reinprecht
III
4. Criando Sites Dinâmicos com ASP 3.0
Agradecimentos
Embora este seja o meu segundo livro, a emoção e a satisfação de concluir mais esse trabalho
é talvez até maior do que no lançamento do primeiro. Foram meses de trabalho árduo,
escrevendo capítulos entre uma viagem e outra. Felizmente conseguimos concluir esse livro
no tempo estimado. E o principal é que saiu conforme o planejado. Penso que esse livro pode
ajudar bastante aqueles que querem aprender a tecnologia ASP, e até mesmo programadores
mais experientes.
No entanto, um trabalho como este não pode ser realizado sem que várias pessoas contribuam,
formando uma verdadeira equipe. Devo citar e agradecer, mais uma vez, a paciência, o amor, a
dedicação e o apoio de minha esposa Lu, diante de mais este desafio. Sei que não foi fácil ficar ao
meu lado, um final de semana após o outro, apenas escutando o barulho das teclas do computador.
Sem o seu apoio e compreensão, tudo seria muito mais difícil, para não dizer impossível. Prometo
que o próximo trabalho terá somente umas 200 páginas.
Gostaria também de agradecer o amor e apoio da minha mãe – Dona Lucy. Pessoa que sempre
me incentivou, apoiou, acreditou no meu trabalho e fez despertar em mim o amor pelos
livros. Mãe, mais uma vez agradeço por tudo o que fizestes e continuas fazendo por mim.
Agradeço mais do que tudo, o amor que sempre me deste, fazendo com que eu crescesse com
a certeza de estar sendo amado e querido.
Também quero agradecer a equipe da Axcel Books, pela sua paciência em corrigir e revisar
mais este trabalho, sempre com sugestões para a melhoria do mesmo, de tal forma que o
amigo leitor possa obter uma obra de qualidade.
Devo citar ainda minhas irmãs: Rose, Lacy e Sandra que sempre renovam minhas forças com
seus elogios sinceros e verdadeiros. Os momentos que passamos juntos, embora poucos, são
verdadeiros e profundos. Uma simples conversa, um almoço, um passeio; são momentos de
parada e reflexão. Momentos que nos mostram o quanto a vida vale a pena. Espero podermos
passar mais tempo juntos.
IV
5. Sumário
Sobre o Autor
Júlio Battisti é profissional certificado da Microsoft, tendo sido aprovado em 16 Exames da
Microsoft, com os quais obteve certificações como: MCP, MCP+I, MCSE, MCSE+I e MCDBA.
É Gerente de rede na Secretaria da Receita Federal, e conhece a tecnologia ASP desde sua
primeira versão. Também é autor de artigos de informática e trabalha com o desenvolvimento
e administração de Web sites. Autor do livro: “Série Curso Básico & Rápido Microsoft Windows
2000 Server”, publicado pela Editora Axcel Books. Atua como instrutor de cursos de
informática na Secretaria da Receita Federal, em outros cursos particulares e também para
turmas em Universidades.
V
7. Sumário
Sumário
Introdução ........................................................................................................................................ 1
Sites Dinâmicos com ASP 3.0 ......................................................................................................... 1
Equipamento e Software Necessário ............................................................................................... 3
Instalando e Testando o IIS 5.0 ........................................................................................................ 4
Novidades e Melhorias do IIS 5.0 .................................................................................................. 10
Administração e Serviços .............................................................................................................. 11
Desenvolvimento de Aplicações Internet/Intranet ................................................................. 12
É Hora de Começar ......................................................................................................................... 13
Visão Geral dos Capítulos do Livro ........................................................................................ 13
Então, “Mãos à obra” ............................................................................................................... 14
Capítulo 1 – Uma Introdução à Tecnologia ASP ......................................................................... 15
Era uma Vez uma Internet com Conteúdo Estático ....................................................................... 16
Um Começo Quase sem Querer .............................................................................................. 16
Uma Visão Geral da Internet e de Seus Elementos ................................................................ 17
Conteúdo Dinâmico na Internet .................................................................................................... 19
A Era do Comércio Eletrônico ....................................................................................................... 23
Aplicações Para a Web ................................................................................................................... 29
A Complexidade de Gerenciamento do Modelo
Cliente/Servidor e Aplicações em Duas Camadas .................................................................. 29
Aplicações em Duas Camadas ................................................................................................ 30
Aplicações em Três Camadas ................................................................................................. 31
Aplicações em Quatro Camadas ............................................................................................. 33
Questões a Considerarmos nos Modelos em Três ou Mais Camadas .................................... 34
O que é ASP? .................................................................................................................................. 35
Preparando o Servidor Para Acompanhar os Exemplos ................................................................ 37
Criando a Estrutura de Pastas e Subpastas ............................................................................. 37
Tornando a Pasta Livro Parte dos Servidor IIS ....................................................................... 38
Alguns Exemplos Práticos ...................................................................................................... 44
O Tradicional “Hello World” ................................................................................................... 44
Um Exemplo de Página Dinâmica .......................................................................................... 48
Capítulo 2 – Uma Introdução ao VBScript .................................................................................. 53
Introdução ...................................................................................................................................... 54
O que é VBScript ............................................................................................................................ 54
Uma Revisão Rápida de HTML...................................................................................................... 56
Estrutura Básica de uma Página HTML .................................................................................. 56
Tags Para a Criação de Formulários HTML ............................................................................. 60
Criando o Formulário – a tag <FORM> </FORM> ....................................................... 60
Criando uma Caixa de Texto – a Tag <INPUT TYPE=“TEXT”> ................................... 62
Criando uma Caixa de Texto Para a Digitação
de Senhas – a tag <INPUT TYPE=“PASSWORD”> ....................................................... 64
Criando um “Check Box” – a tag <INPUT TYPE=“CHECKBOX”> ............................... 66
VII
8. Criando Sites Dinâmicos com ASP 3.0
Criando um Conjunto de “Radio Buttons” – a tag <INPUT TYPE=“RADIO”> ............ 68
Criando um Campo Para Digitação de Comentários
e Textos Maiores – a tag <TEXTAREA> </TEXTAREA> .............................................. 70
Criando uma Lista de Opções (Caixa de Combinação) – a tag
<SELECT></SELECT> em Combinação com <OPTION></OPTION> .................... 72
Finalizando o Formulário com os Botões Enviar Dados e Limpar Dados
– as Tags <INPUT TYPE=“SUBMIT”> e <INPUT TYPE=“CLEAR”> ......................... 75
Declaração e Utilização de Variáveis no VBScript ........................................................................ 78
O que é uma Variável ? ........................................................................................................... 78
Inserindo Código VBScript ..................................................................................................... 78
Declaração e “Tipo” de Variável .............................................................................................. 79
Fazendo Cálculos e Comparações com o VBScript – Operadores ................................................ 83
Fazendo Cálculos com os Operadores Aritméticos ................................................................ 83
Comparando Valores com os Operadores de Comparação .................................................... 87
O Escopo das Variáveis, no VBScript ............................................................................................ 91
Estruturas Para Controle de Fluxo em VBScript ........................................................................... 95
Estruturas de Decisão .............................................................................................................. 95
A Estrutura If...Then ........................................................................................................ 96
A Estrutura If...Then...Else ............................................................................................... 96
A Estrutura If...Then...ElseIf...Else ................................................................................... 97
A Estrutura Select...Case .................................................................................................. 99
Estruturas de Repetição ........................................................................................................ 100
A Estrutura For...Next ..................................................................................................... 100
A Estrutura Do...Loop ..................................................................................................... 102
A Estrutura Do While Condição...Loop ......................................................................... 102
A Estrutura Do... Loop While Condição ........................................................................ 103
A Estrutura Do Until Condição...Loop .......................................................................... 106
A Estrutura Do... Loop Until Condição ......................................................................... 107
Conclusão ..................................................................................................................................... 110
Capítulo 3 – Funções, Procedimentos e Eventos com VBScript ................................................ 111
Tipos de Dados e Funções Para Conversão de Tipos ................................................................... 112
Determinando o Tipo de Dados Contido em uma Variável .................................................. 112
A Função IsArray ............................................................................................................ 113
A Função VarType ........................................................................................................... 115
A Função IsDate .............................................................................................................. 118
A Função IsEmpty .......................................................................................................... 121
A Função IsNull .............................................................................................................. 122
A Função IsNumeric ....................................................................................................... 124
A Função IsObject .......................................................................................................... 125
Funções Para Conversão de Tipos ......................................................................................... 127
Função Cbool .................................................................................................................. 127
Função CByte .................................................................................................................. 128
Função CCur ................................................................................................................... 129
Função CDate .................................................................................................................. 130
Função CDbl ................................................................................................................... 131
Função CInt .................................................................................................................... 132
Função CLng ................................................................................................................... 133
VIII
9. Sumário
Função CSng ................................................................................................................... 134
Função CStr .................................................................................................................... 135
Funções Int e Fix ............................................................................................................ 135
Outras Funções do VBScript – Tratamento
de String, Datas e Funções Matemáticas ..................................................................................... 136
Funções Para Tratamento de String ...................................................................................... 136
Função Asc ..................................................................................................................... 136
Função Chr ..................................................................................................................... 136
Função Len ..................................................................................................................... 137
Função LCase .................................................................................................................. 137
Função UCase ................................................................................................................. 138
Função Left ..................................................................................................................... 138
Função Right ................................................................................................................... 138
Função Mid ..................................................................................................................... 139
Função String .................................................................................................................. 140
Funções Para Tratamento de Data e Hora ............................................................................. 140
Função Date .................................................................................................................... 140
Função Time ................................................................................................................... 141
Função Day ..................................................................................................................... 141
Função Month ................................................................................................................. 142
Função Now .................................................................................................................... 142
Função MonthName ....................................................................................................... 143
Função Hour ................................................................................................................... 143
A função DateDiff ........................................................................................................... 144
A Função DateAdd ......................................................................................................... 145
Função Year ..................................................................................................................... 147
Função WeekDay ............................................................................................................ 147
Função WeekDayName ................................................................................................... 148
Funções Para Cálculos Matemáticos ..................................................................................... 149
Criando Suas Próprias Funções e Procedimentos ....................................................................... 151
Criando e Utilizando Sub-rotinas ......................................................................................... 151
Criando e Utilizando Funções ............................................................................................... 154
Trabalhando com Eventos no VBScript ...................................................................................... 157
Principais Eventos dos Objetos do Internet Explorer .......................................................... 159
Conclusão ..................................................................................................................................... 167
Capítulo 4 – A Tecnologia ASP e o Modelo de Objetos do ASP 3.0 .......................................... 169
Introdução .................................................................................................................................... 170
Entendendo e Utilizando ASP ..................................................................................................... 170
Como e Onde uma Página ASP é Processada? ..................................................................... 171
O que uma Página ASP Retorna Para o Navegador do Cliente? ........................................... 172
O que é Preciso Para Criar e Acessar Páginas ASP? ............................................................. 175
Objetos do ASP 3.0 ....................................................................................................................... 176
Uma Visão Geral do Modelo de Objetos do ASP 3.0 ............................................................ 177
O Objeto Request.......................................................................................................................... 179
Coleções do Objeto Request .................................................................................................. 179
A Coleção Form do Objeto Request .............................................................................. 179
A Coleção QueryString do Objeto Request.................................................................... 186
IX
10. Criando Sites Dinâmicos com ASP 3.0
Alguns Campos que Merecem Considerações Especiais .............................................. 189
A Coleção ServerVariables do Objeto Request .............................................................. 193
A Coleção Cookies do Objeto Request ........................................................................... 199
A Coleção ClientCertificate do Objeto Request ............................................................. 203
Propriedade do Objeto Request ............................................................................................ 203
Método do Objeto Request .................................................................................................... 204
O Objeto Response ....................................................................................................................... 206
Coleção do Objeto Response ................................................................................................. 206
Propriedades do Objeto Response ........................................................................................ 211
A Propriedade Buffer do Objeto Response .................................................................... 211
A Propriedade CacheControl do Objeto Response ........................................................ 212
A Propriedade CharSet do Objeto Response ................................................................. 213
A Propriedade ContentType do Objeto Response ......................................................... 214
A Propriedade Expires do Objeto Response .................................................................. 215
A Propriedade ExpiresAbsolute do Objeto Response ................................................... 216
A Propriedade IsClientConnected do Objeto Response ................................................ 217
A Propriedade PICS do Objeto Response ...................................................................... 218
A Propriedade Status do Objeto Response .................................................................... 219
Métodos do Objeto Response ................................................................................................ 219
O Método AddHeader do Objeto Response ................................................................... 220
O Método AppendToLog do Objeto Response ............................................................... 220
O Método BinaryWrite do Objeto Response .................................................................. 221
O Método Clear do Objeto Response ............................................................................. 222
O método End do Objeto Response ............................................................................... 223
Comentários ................................................................................................................... 223
O Método Flush do Objeto Response ............................................................................ 224
O Método Redirect do Objeto Response ........................................................................ 225
O Método Write do Objeto Response ............................................................................. 226
Alguns Exemplos Práticos de Aplicação ..................................................................................... 227
Exemplo 1: Validação dos Dados de um Formulário ............................................................ 227
Exemplo 2: Formulário Para Cálculo de Imposto ................................................................. 239
Conclusão ..................................................................................................................................... 248
Capítulo 5 – Conectando Páginas ASP com Bancos de Dados .................................................. 249
Uma Revisão dos Conceitos Básicos de Banco de Dados ........................................................... 251
Entidades e Atributos ............................................................................................................ 251
Chave Primária ...................................................................................................................... 252
Relacionamentos Entre Tabelas ............................................................................................ 253
Relacionamento do Tipo Um Para Um .......................................................................... 254
Relacionamento do Tipo Um Para Vários ...................................................................... 255
Relacionamento do Tipo Vários para Vários ................................................................. 255
Integridade Referencial .................................................................................................. 256
Normalização de Tabelas ...................................................................................................... 257
Primeira Forma Normal .................................................................................................. 258
Segunda Forma Normal .................................................................................................. 259
Terceira Forma Normal ................................................................................................... 260
Passos Para Projetar um Banco de Dados .............................................................................. 261
X
11. Sumário
Etapas na Estruturação de um Banco de Dados ............................................................ 261
Dicas Para Determinação dos Campos em uma Tabela ................................................. 262
Como Escolher o Campo que Será a Chave Primária? .................................................. 262
Noções Básicas da Linguagem SQL – Structured Query Language ............................................ 263
Introdução ............................................................................................................................. 263
A Instrução SELECT ............................................................................................................. 264
A Instrução UPDATE ............................................................................................................. 272
A Instrução INSERT .............................................................................................................. 273
A Instrução Delete ................................................................................................................. 274
Uma Visão Geral de ADO e OLE DB ............................................................................................ 275
Um Pouco Sobre ODBC – Open Database Conectivity ........................................................ 275
Criando uma Fonte ODBC Para um Banco de Dados do Microsoft Access 97 ............. 276
Criando uma Fonte ODBC Para um Banco de Dados do Microsoft SQL Server 2000 ....... 282
Um Pouco Sobre OLE DB e ADO .......................................................................................... 288
Uma Visão Geral do Modelo de Objetos ADO ............................................................................ 290
O Objeto Connection ................................................................................................................... 292
O Primeiro Exemplo .............................................................................................................. 295
Modificando um Pouco o Nosso Exemplo ............................................................................ 304
Um Pouco Mais Sobre o Objeto Connection ............................................................................... 306
Criando um Formulário Para Pesquisa ......................................................................................... 311
Criando a Página HTML com o Formulário de Pesquisa ...................................................... 312
Criando a Página ASP Para Pesquisar no Banco de Dados .................................................. 313
Conclusão ..................................................................................................................................... 318
Capítulo 6 – Bancos de Dados com ASP – Conceitos Avançados Parte I ................................. 321
Introdução .................................................................................................................................... 322
Estabelecendo Conexões sem a Utilização de ODBC .................................................................. 323
A Propriedade ConnectionString ................................................................................................. 324
Configurando Conexões com Bancos de Dados do Microsoft Access .......................... 324
Configurando Conexões com Bancos de Dados do Microsoft SQL Server ................... 326
Configurando Conexões com Bancos de Dados ORACLE ............................................. 331
Alguns Detalhes Finais Sobre o Objeto Connection ................................................................... 333
O Método Close ..................................................................................................................... 333
“Pool” de Conexões ............................................................................................................... 334
O Objeto RecordSet ...................................................................................................................... 335
Cursores .......................................................................................................................... 336
Localização do Cursor .................................................................................................... 339
Lock de Registros ............................................................................................................ 341
Propriedades do Objeto RecordSet ................................................................................ 343
Métodos do Objeto RecordSet ........................................................................................ 345
Uma Página ASP Para Inserir Informações no Banco de Dados ................................................. 347
Editando Registros em um Banco de Dados ................................................................................ 361
A Página ASP Para Selecionar o Produto a ser Alterado – produto.asp .............................. 362
A Página que Localiza o Registro do Produto a ser Atualizado – localiza.asp ........................... 365
A Página que Atualiza os Dados na Tabela Produtos do Banco de
Dados Nwind.mdb – Atualiza.asp ........................................................................................ 370
Utilizando o Nosso Exemplo de Alteração de Registro ........................................................ 372
Eliminando Registros de um Banco de Dados ............................................................................ 375
XI
12. Criando Sites Dinâmicos com ASP 3.0
A Página ASP Para Excluir o Produto Selecionado – Exclui.asp ......................................... 375
Utilizando o Nosso Exemplo de Exclusão de Registro ......................................................... 377
A Propriedade Filter do Objeto RecordSet .................................................................................. 380
Conclusão ..................................................................................................................................... 385
Capítulo 7 – Bancos de Dados com ASP – Conceitos Avançados Parte II ................................ 387
O Objeto Command ..................................................................................................................... 389
Um Breve Introdução ao Objeto Command ......................................................................... 389
Os Métodos do Objeto Command ......................................................................................... 393
As Propriedades do Objeto Command ................................................................................. 393
Consultas Parametrizadas no Microsoft Access ................................................................... 397
O Objeto Parameter ...................................................................................................................... 402
Utilizando o Objeto Command Para Passar Parâmetros Para uma Consulta Parametrizada ...... 403
Utilizando o Nosso Exemplo ................................................................................................ 414
Um Desafio Para o Amigo Leitor ........................................................................................... 415
Um Pouco Mais Sobre Pesquisas em Banco de Dados ................................................................ 417
A Utilização do Operador Like ............................................................................................. 418
A Utilização de Múltiplos Critérios ...................................................................................... 423
O Operador And ............................................................................................................. 423
O Operador Or ................................................................................................................ 424
Alguns Exemplos de Utilização de Múltiplos Critérios ....................................................... 424
Utilizando Funções de Agregação ......................................................................................... 426
Alguns Exemplos de Utilização de Funções de Agregação .................................................. 427
Um Formulário Genérico Para Pesquisas ..................................................................................... 437
Utilizando o Nosso Formulário de Pesquisa ......................................................................... 446
Conclusão ..................................................................................................................................... 450
Capítulo 8 – Aplicativos Web e Componentes .......................................................................... 453
Introdução .................................................................................................................................... 454
O que é uma Aplicação Web no IIS? ........................................................................................... 454
Uma Aplicação Cliente/Servidor Tradicional ...................................................................... 455
Aplicações Web – um Novo Paradigma ................................................................................ 456
Aplicações Web no IIS .......................................................................................................... 457
O Arquivo Global.asa ................................................................................................................... 465
Um Aplicativo só Pode ter um Arquivo Global.asa ...................................................... 466
O Objeto Application ................................................................................................................... 468
Eventos do Objeto Application ............................................................................................. 469
Evento Application_OnStart .......................................................................................... 469
Evento Application_OnEnd ........................................................................................... 478
Coleções do Objeto Application ........................................................................................... 478
A Coleção Contents ........................................................................................................ 479
A Coleção StaticObjects ................................................................................................. 483
Métodos do Objeto Application ............................................................................................ 483
O Objeto Session .......................................................................................................................... 486
Eventos do Objeto Session .................................................................................................... 487
O Evento Session_OnStart ............................................................................................. 488
Evento Session_OnEnd .................................................................................................. 496
Coleções do Objeto Session .................................................................................................. 496
XII
13. Sumário
A Coleção Contents ........................................................................................................ 497
A Coleção StaticObjects ................................................................................................. 501
Métodos do objeto Session ................................................................................................... 501
Propriedades do Objeto Session ........................................................................................... 503
Conclusão ..................................................................................................................................... 506
Capítulo 9 – Segurança de Aplicações Web com IIS e ASP ...................................................... 509
Autenticação de Usuários com o IIS 5.0 ..................................................................................... 512
O Acesso Anônimo ...................................................................................................................... 512
Como Definir a Conta Para Acesso Anônimo no IIS 5.0 ...................................................... 515
Verificando as Configurações da Conta Para
Acesso Anônimo no Windows 2000 Server ......................................................................... 519
Configurando Permissões NTFS em Pastas do Servidor Web .............................................. 525
Sistemas de Arquivos no Windows 2000 e Permissões NTFS ............................................. 526
Definindo Permissões NTFS .......................................................................................... 529
Autenticação Básica ..................................................................................................................... 539
Autenticação Integrada do Windows ........................................................................................... 540
Autenticação Utilizando Certificados ......................................................................................... 541
Mapeamento do Certificado Cliente ..................................................................................... 541
Configurando o Tipo de Autenticação no IIS .............................................................................. 542
Mais Configurações de Segurança do IIS .................................................................................... 546
Configurando Opções Gerais de Segurança ......................................................................... 546
Configuração de Segurança Para Aplicativos Web no IIS .................................................... 550
Definindo Restrições de Acesso a Nível de Endereço IP ............................................................ 552
Mecanismos de Segurança do Banco de Dados .......................................................................... 557
Conclusão ..................................................................................................................................... 561
Capítulo 10 – Utilizando Componentes do IIS .......................................................................... 563
Introdução .................................................................................................................................... 564
O Objeto Server ............................................................................................................................ 564
Propriedade do Objeto Server ............................................................................................... 565
Métodos do Objeto Server ..................................................................................................... 566
O Método CreateObject .................................................................................................. 566
O Método Execute(“url”) ................................................................................................ 568
Exemplo .............................................................................................................................. 569
O Método GetLastError( ) ............................................................................................... 570
O Método URLEncode(“texto”) ...................................................................................... 571
O Método MapPath(“url”) .............................................................................................. 573
O Método Transfer(“url”) ............................................................................................... 574
O Método HTMLEncode(“texto”) ................................................................................... 575
Um Exemplo Prático de Utilização do Objeto Server ................................................................. 576
Utilizando Componentes do Servidor em Páginas ASP ............................................................. 586
O Componente Content Link ................................................................................................ 586
Criando um Objeto do Tipo Content Link ..................................................................... 588
Métodos do Objeto Content Link ................................................................................... 588
Um Exemplo que Utiliza o Componente Content Link ................................................ 591
O Componente Ad Rotator .................................................................................................... 596
O Arquivo de Programação da Rotatória ....................................................................... 597
XIII
14. Criando Sites Dinâmicos com ASP 3.0
URL ..................................................................................................................................... 598
Largura ................................................................................................................................ 598
Altura .................................................................................................................................. 598
Borda ................................................................................................................................... 599
URL_anúncio ...................................................................................................................... 599
URL_home_page_anúncio .................................................................................................. 599
Texto .................................................................................................................................... 599
Impressões .......................................................................................................................... 599
Exemplo .............................................................................................................................. 600
O Arquivo de Redirecionamento ................................................................................... 600
Exemplo .............................................................................................................................. 600
Propriedades do Objeto Ad Rotator ............................................................................... 601
Método do Objeto Ad Rotator ........................................................................................ 602
O Componente Page Counter ................................................................................................ 605
Os Métodos do Componente Page Counter ................................................................... 606
O Componente Browser Capabilities – Capacidades do Navegador ................................... 609
Conclusão ..................................................................................................................................... 615
Capítulo 11 – Os Objetos FileSystemObject, Drive, Folder e File ............................................. 617
Introdução .................................................................................................................................... 618
O Objeto FileSystemObject .......................................................................................................... 618
Propriedade do Objeto FileSystemObject ............................................................................. 619
Métodos do Objeto FileSystemObject .................................................................................. 620
Métodos do Objeto FileSystemObject Para Trabalho com Drives ................................. 620
Métodos do Objeto FileSystemObject Para Trabalho com Pastas ................................. 621
Métodos do Objeto FileSystemObject Para Trabalho com Arquivos ............................ 628
O Objeto Drive .............................................................................................................................. 634
Propriedades do Objeto Drive ............................................................................................... 634
O Objeto Folder ............................................................................................................................ 637
Propriedades do Objeto Folder .............................................................................................. 638
Métodos do Objeto Folder ..................................................................................................... 642
O Objeto File ................................................................................................................................ 644
Propriedades do Objeto File .................................................................................................. 644
Métodos do Objeto File ......................................................................................................... 647
Exemplo Prático ........................................................................................................................... 649
Conclusão ..................................................................................................................................... 652
Capítulo 12 – Tratamento de Erros, Transações e Outros Assuntos ......................................... 655
O Objeto ASPError ....................................................................................................................... 657
Propriedades do Objeto ASPError ........................................................................................ 657
Algumas Dicas Para Minimizar Erros .......................................................................................... 658
Erros de Sintaxe .................................................................................................................... 658
Erros de Semântica ou de Tempo de Execução .................................................................... 659
Erros Lógicos ......................................................................................................................... 661
Algumas Dicas Para Reduzir a Ocorrência de Erros ............................................................ 662
O Conceito de Transações e a Utilização de Transações em Páginas ASP ................................. 663
O Conceito de Transação ...................................................................................................... 664
XIV
15. Sumário
Colocando uma Página ASP no Contexto de uma Transação .............................................. 665
Estabelecendo um Script Transacional ................................................................................ 666
Restabelecendo ou Abortando um Script ............................................................................. 667
Gravando Eventos de Transação ........................................................................................... 667
Registrando um Componente no Gerenciador de Serviços de Componente ...................... 669
Escopo de Objeto ................................................................................................................... 672
Colocando Transações em Fila ............................................................................................. 672
Utilizando a Diretiva #include .................................................................................................... 673
As Diretivas @ ............................................................................................................................. 675
A Diretiva de Processamento @CODEPAGE ........................................................................ 676
A Diretiva de Processamento @ENABLESESSIONSTATE .................................................. 677
A Diretiva de Processamento @LANGUAGE ....................................................................... 678
A Diretiva de Processamento @LCID ................................................................................... 678
A Diretiva de Processamento @TRANSACTION ................................................................. 679
Conclusão ..................................................................................................................................... 680
Apêndice – Referência Rápida da Linguagem VBScript ........................................................... 681
Declarando Variáveis com VBScript ............................................................................................ 683
Operadores ................................................................................................................................... 684
Estruturas de Decisão e Laços de Controle em VBScript ............................................................ 685
Estrutura de Decisão If Then Else ........................................................................................ 685
Estrutura de decisão If Then ElseIf ....................................................................................... 686
O Laço For...Next ................................................................................................................... 686
O Laço For Each...Next .......................................................................................................... 686
A Estrutura Select Case...End Select .................................................................................... 686
A Estrutura Do While Condição...Loop ................................................................................ 687
Loop ....................................................................................................................................... 687
A Estrutura Do... Loop While Condição ............................................................................... 688
A Estrutura Do Until Condição...Loop ................................................................................. 689
A Estrutura Do... Loop Until Condição ................................................................................ 690
Comentários em VBScript ........................................................................................................... 691
Funções no VBScript .................................................................................................................... 692
Funções Para Conversão de Valores ............................................................................................. 692
ASC(String) .................................................................................................................... 692
Chr(número) ................................................................................................................... 692
CBool(expressão) ............................................................................................................ 692
CByte(expressão) ............................................................................................................ 693
CCur(expressão) ............................................................................................................. 693
CDate(data) ..................................................................................................................... 693
CDbl(data) ....................................................................................................................... 694
CInt(expressão) ............................................................................................................... 694
CLng(expressão) ............................................................................................................. 694
CSng(expressão) ............................................................................................................. 694
CStr(expressão) ............................................................................................................... 695
Fix(expressão) ................................................................................................................. 695
Hex(expressão) ............................................................................................................... 695
Int(expressão) ................................................................................................................. 695
XV
18. Introdução – Sites Dinâmicos com ASP 3.0
Introdução
Sites Dinâmicos
com ASP 3.0
1
19. Criando Sites Dinâmicos com ASP 3.0
Neste livro vamos abordar diversos assuntos relacionados com a criação de sites dinâmicos.
Desta forma, o leitor terá condições de aprofundar os seus conhecimentos em conteúdos de
grande importância para a criação de aplicativos para a Web. Iremos apresentar, juntamente
com conceitos teóricos, um grande número de exemplos e aplicações práticas em detalhes,
para que o leitor tenha condições de entender com clareza os assuntos abordados.
O trabalho de criar sites e aplicações para Intranet/Internet tornou-se bastante complexo. O
profissional da Web precisa conhecer um número cada vez maior de ferramentas e tecnologias.
A criação de sites, simplesmente através da utilização de páginas HTML, já não é capaz de
gerar os resultados necessários. Hoje, um site na Internet ou na Intranet de uma empresa,
deve apresentar as características destacadas a seguir:
➥ Geração dinâmica de conteúdo.
➥ Conexão de páginas com banco de dados.
➥ Personalização do conteúdo, de acordo com as preferências de cada usuário.
➥ Segurança no acesso a áreas restritas do site, somente para usuários autorizados e com
nível de acesso adequado.
➥ Criptografia dos dados transmitidos, ofererecendo garantia de autenticidade e integridade
das informações, principalmente para sites de Comércio Eletrônico, onde o usuário deve
digitar informações importantes, tais como o número do cartão de crédito.
➥ Serviços como envio de mensagens ou grupos de discussão, diretamente através do site.
➥ Mecanismos de pesquisa rápidos e precisos.
➥ Layout atraente e funcional, de tal forma que o internauta possa, rapidamente, localizar
o conteúdo desejado.
➥ Bom conteúdo e atualização constante.
Desenvolver um site, que contenha essas características, não é uma tarefa simples. Exige o
uso de diversas tecnologias e ferramentas de apoio, além, é claro, de profissionais competentes
e adequadamente treinados.
Com a utilização da tecnologia ASP 3.0 – Active Server Pages – podemos obter bons resultados
na criação de sites com este nível de complexidade. Ao estudar os capítulos deste livro, o
leitor aprenderá a utilizar essa tecnologia. O aprendizado de ASP é simples, principalmente
para quem já conhece o Visual Basic ou o Visual Basic for Applications (linguagem de desenvol-
vimento para o Microsoft Office). Em várias situações, o código é bastante semelhante.
A tecnologia está disponível através da utilização do Internet Information Services 5.0, como
servidor Web, o qual pode ser instalado juntamente com o Windows 2000 Server. Podemos
notar uma mudança no nome do servidor Web da Microsoft. A versão anterior era denominada
Internet Information Server 4.0 – IIS 4.0; e a nova, Internet Information Services 5.0 – IIS 5.0.
2
20. Introdução – Sites Dinâmicos com ASP 3.0
Observe que o Server foi substituído por Services. No tópico sobre as novidades do IIS 5.0,
irei explicar o que significa, na prática, esta mudança.
Durante a instalação do Windows 2000 Server, podemos optar por instalar, ou não, o Internet
Information Services 5.0. Ao longo deste livro estarei utilizando a abreviatura IIS 5.0 (para
manter coerência com o padrão utilizado pela Microsoft no Resource Kit do Windows 2000
Server), ao fazer referência ao Internet Information Services 5.0. Caso não tenhamos instalado
o IIS 5.0 na instalação do Windows 2000 Server, podemos adicioná-lo quando for necessário.
Para isso, utilizamos o ícone Adicionar ou remover programas, no Painel de controle. No
próximo tópico desta introdução, veremos como instalar o IIS 5.0.
É importante salientar que o IIS 5.0, somente está disponível no Windows 2000 Server. Isso
significa que não é possível você continuar utilizando o Windows NT Server 4.0 (com o qual
está disponível o IIS 4, através da instalação do Option Pack 4.0) e apenas fazer o upgrade do
IIS 4.0 para o IIS 5.0. Também é importante destacar que as novas características do ASP 3.0,
somente estão disponíveis no IIS 5.0. Em outro tópico desta introdução estarei abordando
essas novas características.
Equipamento e Software Necessário
Para acompanhar todos os exemplos propostos no livro, precisamos de um computador com
Windows 2000 Server instalado. Também faz-se necessário que o IIS 5.0 esteja instalado e
corretamente configurado.
A configuração mínima necessária depende de uma série de fatores.
Se o equipamento vai ser utilizado como um servidor Web na Internet, vários são os aspectos
a serem considerados, tais como:
➥ Aplicações implementadas e recursos de hardware necessários, como memória, disco
e processador.
➥ Número estimado de acessos simultâneos e diários, sendo esta uma das estimativas
mais difíceis de se obter, uma vez que o sucesso de um site pode ser determinado por
um número muito grande de fatores, nem todos de fácil mensuração.
➥ Grau de segurança necessário desejável. Neste caso, entram questões como criptografia,
uso de certificados digitais, criação de VPN – Virtual Private Networks (Redes Privadas
Virtuais) –, procedimentos de recuperação de falha, plano de contingência, etc.
➥ Percentual de “folga” desejado para recursos tais como: memória, processador, disco. Ao
projetar um site, é bastante comum utilizar hardware que atenda as necessidades atuais
com uma certa folga, para que seja possível suportar crescimentos maiores do que os
3
21. Criando Sites Dinâmicos com ASP 3.0
estimados. Alguns sites famosos já enfrentaram problemas de crescimento além do
esperado. Quando isso acontece, mais recursos de hardware precisam ser adicionados
com o site em funcionamento. É a bem conhecida situação de “trocar o pneu com o carro
andando”. Eu diria que hoje, na velocidade em que as mudanças acontecem, seria um
pouco pior, algo como “trocar a turbina com o avião em pleno vôo”.
Para maiores informações sobre como planejar a capacidade de hardware para um servidor
Web com o IIS 5.0, consulte o capítulo “Capacity Planning” do livro “Internet Information
Services Resource Guide”, parte integrante do Windows 2000 Server Resource Kit.
Como equipamento para ser utilizado em casa, ou em um laboratório de teste na sua empresa,
aconselho a seguinte configuração:
➥ Processador Pentium 200 ou superior.
➥ 64 MB de RAM, sendo 128 MB, altamente recomendável.
➥ 2 GB de disco rígido.
Com menos de 64 MB de RAM, o Windows 2000 Server não pode ser instalado. Sendo detectada
memória inferior a 64 MB durante o processo de instalação, o mesmo será suspenso.
Além do Windows 2000 Server e do IIS 5.0, também precisaremos ter os seguintes programas
e serviços instalados, para que possamos acompanhar os exemplos deste livro:
➥ Internet Explorer 4.x (ou superior) ou Netscape Navigator 4.x.
➥ Microsoft Transaction Services (vem junto com o Windows 2000 Server).
➥ Microsoft Index Services (vem junto com o Windows 2000 Server).
Em cada um dos capítulos, estaremos apresentando vários exemplos práticos. Através destes
exemplos, você poderá entender melhor a aplicação dos conceitos teóricos apresentados. Em
muitas situações, a melhor maneira de entender um determinado assunto, é através da
utilização do mesmo para resolução de um problema prático do dia-a-dia. Muitos dos exemplos
apresentados, podem ser facilmente adaptados para uso em aplicações que você esteja
desenvolvendo. Situações como acesso a banco de dados através de páginas Web, indexação
e pesquisa de conteúdos, implementação de mecanismos de segurança, etc., são comuns a
maioria das aplicações Web atuais. Agora vamos aprender a instalar o IIS 5.0.
Instalando e Testando o IIS 5.0
Caso você não tenha instalado o IIS 5.0, quando da instalação do Windows 2000 Server, é
possível fazer a instalação quando for necessário. Agora aprenderemos, passo a passo, a instalar
o IIS 5.0. Nunca é demais lembrar que sem o IIS 5.0, não será possível testar os exemplos
práticos, propostos neste livro.
4
22. Introdução – Sites Dinâmicos com ASP 3.0
Para instalar o IIS 5.0:
1. Faça o logon no Windows 2000 Server.
2. Abra o Painel de controle (Iniciar/Configurações/Painel de controle).
3. Abra a opção Adicionar ou remover programas.
4. Surgirá a janela indicada na Figura 1.1.
Figura I.1: Janela Adicionar ou remover programas.
5. No lado esquerdo da janela, dê um clique na opção Adicionar ou remover componentes
do Windows.
6. Surgirá a janela indicada na Figura 1.2.
Figura I.2: Janela para alterar a instalação do Windows.
5
23. Criando Sites Dinâmicos com ASP 3.0
7. Dê um clique no botão Componentes.
8. Será exibida, por breves instantes, uma mensagem “Aguarde...”. Depois surge a janela
Assistente de componentes do Windows, conforme indicado na Figura 1.3.
Figura I.3: Janela Assistente de componentes do Windows.
9. Utilizando o Assistente de componentes do Windows podemos adicionar novos
serviços, ou remover serviços que não sejam mais necessários.
10. Vá descendo com a barra de rolagem vertical, até localizar o item Internet Information
Services (IIS), conforme indicado na Figura 1.4.
Se esta opção estiver marcada, o IIS 5.0 já está instalado. Neste caso clique no botão Cancelar.
Depois é só fechar a janela Adicionar ou remover programas e o Painel de controle.
Se esta opção estiver desmarcada, significa que o IIS 5.0 ainda não foi instalado. Marque esta
opção para instalar este serviço.
Observe que ao marcar a opção, o botão Detalhes é habilitado. O IIS 5.0 é formado por uma
série de componentes e funcionalidades. Existe um servidor de páginas (servidor HTTP), um
servidor de FTP, um servidor de notícias (NNTP), etc.
Ao instalarmos o IIS 5.0, podemos escolher um ou mais dos seus componentes, dependendo
das necessidades do nosso site. Não é necessários que todos os componentes do IIS 5.0 sejam
instalados. Por exemplo, se o serviço de cópia de arquivos não for necessário, não temos
porque instalar o serviço de FTP.
6
24. Introdução – Sites Dinâmicos com ASP 3.0
Figura I.4: O serviço Internet Information Services (IIS).
DICA
Instale somente os serviços realmente necessários. Não é uma boa idéia instalar todos os serviços
disponíveis, já que somente alguns serão utilizados. Quanto mais serviços instalados, maiores
as possibilidades de ataque e quebra da segurança do site, por parte de um hacker.
11. Clique no botão Detalhes.
12. Na lista de opções disponíveis, certifique-se de que somente as seguintes estão marcadas:
➥ Arquivos comuns.
➥ Documentação.
➥ Extensões de servidor do FrontPage 2000.
➥ Gerenciador de Internet Services (HTML).
➥ Servidor File Transfer Protocol (FTP).
➥ Servidor World Wide Web.
➥ Snap-In do Internet Information Services.
13. Observe que, após ter selecionado os componentes a serem instalados, o Windows
2000 Server, exibe o espaço em disco necessário, conforme indicado pela Figura 1.5.
7
25. Criando Sites Dinâmicos com ASP 3.0
Figura I.5: Indicação do espaço necessário no disco rígido.
14. Dê um clique em OK. Você estará de volta ao Assistente de componentes do Windows.
15. Dê um clique no botão Avançar para ir para a próxima etapa do assistente.
16. O Windows 2000 Server exibe uma janela indicando o progresso da Instalação, como
na Figura 1.6.
Figura I.6: Progresso da instalação do IIS 5.0.
8
26. Introdução – Sites Dinâmicos com ASP 3.0
17. Caso o Windows 2000 Server não encontre os arquivos necessários à instalação no
disco rígido, você será solicitado a inserir o CD de instalação do Windows, conforme
indicado pela Figura 1.7.
Figura I.7: Mensagem solicitando o CD de instalação do Windows.
18. Insira o CD e dê um clique em OK. O Windows 2000 Server inicia o processo de cópia
dos arquivos.
19. Após finalizada a cópia dos arquivos, o Assistente emite uma mensagem dizendo que
o processo foi concluído com sucesso.
20. Dê um clique no botão Concluir para encerrar o Assistente.
21. Você estará de volta à janela Adicionar ou remover programas. Dê um clique no botão
Fechar para sair desta janela.
22. Você estará de volta ao Painel de controle. Feche o Painel de controle.
23. Agora o IIS 5.0 está instalado e pronto para funcionar.
IMPORTANTE
Caso você não tenha acesso a um computador com o Windows 2000 Server não tem problema.
Você pode acompanhar a maioria dos exemplos deste livro, utilizando o Windows 2000 Profes-
sional. A maneira de instalar o IIS 5.0 é exatamente a mesma, quer seja no Windows 2000
Server, ou no Windows 2000 Professional. Para os exemplos mais simples, até mesmo o Per-
sonal Web Server, que acompanha o Windows 98, pode ser utilizado. Porém no Personal Web
Server, não existem os conceitos de Transação e segurança disponíveis no IIS 5.0.
Agora que já temos o IIS 5.0 instalado, vamos testar se o mesmo está funcionando corretamente.
Para testar se o IIS 5.0 foi instalado com sucesso:
1. Abra o Internet Explorer.
2. Digite o seguinte endereço: http://localhost.
9
27. Criando Sites Dinâmicos com ASP 3.0
Deve surgir uma janela conforme indicado na Figura 1.8.
Figura I.8: A página padrão do IIS 5.0, logo após a instalação.
Esta é a página inicial padrão do IIS 5.0 logo após a instalação. Isto comprova que o IIS 5.0 foi
instalado com sucesso.
3. Feche o Internet Explorer.
No próximo tópico, irei apresentar as melhorias do IIS 5.0, em relação a versão anterior, IIS
4.0, dentre as quais destaca-se a versão 3.0 do ASP – Active Server Pages 3.0, com a qual
estaremos trabalhando neste livro.
Novidades e Melhorias do IIS 5.0
O IIS 5.0 é a nova versão do Servidor Web da Microsoft, o qual é disponibilizado como um
Serviço (conforme indicado pelo nome Services e não mais Server) do Windows 2000 Server.
A versão anterior – IIS 4.0 – era instalada como parte do Option Pack 4.0, para o Windows NT
Server 4.0. No Windows 2000 Server, o IIS 5.0 faz parte do próprio Sistema Operacional.
Neste tópico, apresentaremos as principais novidades desta nova versão. Para simplificar o
entendimento, classificarei as novidades em duas categorias, conforme descrito abaixo:
10
28. Introdução – Sites Dinâmicos com ASP 3.0
➥ Administração e serviços (FTP e HTTP).
➥ Desenvolvimento de aplicações Internet/Intranet.
Administração e Serviços
Os novos recursos do IIS 5.0 aumentaram a sua estabilidade e segurança. Novos assistentes
foram introduzidos para facilitar as tarefas mais comuns de administração e segurança. Eis
algumas das novidades:
➥ Reinicialização de download: Agora o serviço de FTP é capaz de reinicializar um down-
load que tenha sido interrompido, a partir do ponto em que a interrupção ocorreu, isso
evita que tenhamos que começar do zero. Característica de grande utilidade, principal-
mente para arquivos grandes, uma vez que a velocidade da Internet ainda não é
nenhuma maravilha.
➥ Compactação HTTP: Toda a informação, enviada via HTTP, pode ser compactada. Para
arquivos de texto (arquivos com código HTML, por exemplo), o ganho é considerável
– na maioria dos casos, acima de 70 %. Podemos utilizar compactação também com
arquivos de imagens (.jpg, .gif), ou qualquer outro tipo de arquivo transmitido via
HTTP. O browser deve ser capaz de descompactar a informação (Internet Explorer e o
Netscape Navigator em versão 4.x, dentre outros).
➥ Assistentes de segurança: Novos assistentes facilitam a execução de tarefas relacionadas
com a segurança. Por exemplo, o Assistente de Permissões (Permissions Wizard) facilita
a tarefa de atribuir permissões de acesso de arquivo. Esta era uma tarefa complicada
em versões anteriores, uma vez que a permissão efetiva, depende da combinação entre
as permissões estabelecidas no Sistema Operacional (permissões NTFS) e as do IIS.
Temos também um assistente para gerenciar Certificados.
➥ Contabilidade de processos (Process Accounting): Modificações introduzidas no ker-
nel do Windows 2000 Server, permitem um controle bastante refinado nos processos
que estão rodando. Com isso, pode ser determinado o quanto de processador cada site
virtual está consumindo (lembrando que o IIS admite diversos sites em um único
servidor). Com isso é possível determinar se um dos sites está consumindo, despropor-
cionalmente, tempo do processador. Por exemplo, pode ser que uma página ASP mal
implementada, esteja elevando a carga no processador. Esta característica também pode
ser utilizada por provedores de conteúdo, os quais hospedam sites de outras empresas,
como um parâmetro para a cobrança do serviço de hospedagem do site.
➥ Melhor administração através do browser: Administrar o IIS 5.0, remotamente, através
do browser ficou bem mais fácil. Além disso, a maioria das tarefas podem ser executadas
através dele, o que não era possível em versões anteriores. O administrador também
pode criar “Contas Administrativas” (conhecidas como Operadores), com permissões
11
29. Criando Sites Dinâmicos com ASP 3.0
limitadas a determinadas tarefas, por exemplo, criar diretórios virtuais. Com isso é
possível distribuir a administração do IIS entre diversos Administradores.
➥ Web Distributed Authoring and Versioning (WebDAV): Permite que o autor de páginas, possa
remotamente editar, mover ou eliminar arquivos. Também é possível editar as propriedades
de arquivos e diretórios, remotamente, através de uma conecção HTTP Com WebDAV o
. ,
autor está utilizando o HTTP como um protocolo de compartilhamento de arquivo.
➥ Autenticação Digest: Aumenta a segurança e a confiabilidade da autenticação dos usuários.
Com a Autenticação Digest, é feito um hash das informações de senha antes da transmissão.
Informações ligadas à sessão e a hora do sistema são adicionadas ao hash. Com isso, mesmo
que a senha seja interceptada, não poderá ser decifrada. Os demais tipos de autenticação
continuam existindo: HTTP Basic, Windows NT Challenge/Response e NTLM authentica-
tion (conhecida como “integrated Windows authentication”).
Desenvolvimento de Aplicações Internet/Intranet
Muitas melhorias foram feitas nesta área. Vamos descrever, resumidamente, algumas das novidades.
➥ Proteção das aplicações: Por padrão, todas as aplicações rodam em um processo comum,
o qual é separado do processo do IIS 5.0. Porém é possível rodar aplicações de maior
importância (ou que necessitem de maior desempenho) em um processo separado.
➥ Principais novidades para páginas ASP – Active Server Pages:
➥ Novos métodos para o controle de fluxo da aplicação (Server.Transfer,
Server.Execute, etc.).
➥ Melhorias no tratamento de erros. Teremos um capítulo deste livro dedicado ao
tratamento de erros em páginas ASP.
➥ Scriptless ASP: Mesmo páginas que contenham somente código HTML podem ter
a extensão .ASP. Com isso pode-se criar toda a estrutura do site utilizando páginas
com a extensão .ASP e adicionar os scripts no momento oportuno.
➥ Integração com o XML – Extensible Markup Language. Ainda não ouviu falar de XML?
O caso é sério.
➥ Novas maneiras para detectar as capacidades do browser do cliente.
➥ Melhorias de performance: Capacidade de self-tunning das páginas ASP.
São muitas as novidades do IIS 5.0 e uma das melhores fontes para conhecê-las é o livro
Internet Information Services Resource Guide (em Inglês), o qual, conforme descrito
anteriormente, faz parte do Windows 2000 Server – Resource Kit.
12
30. Introdução – Sites Dinâmicos com ASP 3.0
É Hora de Começar
Bem, já estamos com o IIS instalado e funcionando, conhecemos as novidades desta versão e
estamos ansiosos para começar a trabalhar com páginas ASP, em sua versão 3.0. Pois é
exatamente o que estaremos fazendo deste ponto em diante. Você aprenderá a utilizar os
principais recursos do ASP 3.0, podendo criar páginas e aplicações para Web, com diversos
recursos e funcionalidades.
Abaixo apresento uma pequena descrição do conteúdo de cada capítulo deste livro. Caso
você esteja iniciando os estudos sobre ASP, aconselho que leia os capítulos na seqüência
apresentada. Caso já trabalhe com ASP, sinta-se a vontade para ler os capítulos na ordem que
julgar mais adequada. Cada capítulo apresenta exemplos completos, os quais ilustram os
conceitos teóricos apresentados.
Em todos os exemplos, estou utilizando a linguagem VBScript, devido a sua funcionalidade
e facilidade de aprendizado. Caso o leitor queira utilizar Java Script (agora formalmente ECMA
Script), sinta-se à vontade.
Visão Geral dos Capítulos do Livro
➥ Capítulo 1: Apresentaremos uma visão geral sobre a criação de sites dinâmicos, bem
como do desenvolvimento de aplicações para Internet/Intranet (também conhecidas
como aplicações para a Web). Veremos o que é ASP, bem como as tecnologias utilizadas
na criação de aplicações Web.
➥ Capítulo 2: Como em nossos exemplos estaremos utilizando a linguagem VBScript.
Neste capítulo serão apresentados os conceitos básicos desta linguagem, juntamente
com exemplos práticos de utilização dos conceitos apresentados.
➥ Capítulo 3: Apresentaremos aspectos adicionais da linguagem VBScript, aprendendo
a utilizar funções, comandos e outros. Também aprenderemos sobre o conceito de
eventos em páginas Web; além de aprender a criar código a ser executado em resposta
a determinados eventos de uma página, como por exemplo o clique em um determinado
botão de comando.
➥ Capítulo 4: Neste capítulo começaremos a estudar os objetos fornecidos pelo ASP 3.0.
Veremos os diversos métodos e propriedades de cada objeto, bem como a relação entre
eles. Utilizaremos alguns exemplos práticos para facilitar o entendimento dos conceitos
apresentados.
➥ Capítulo 5: Neste capítulo aprenderemos a conectar páginas ASP com bancos de dados.
Veremos como criar pesquisas personalizadas, utilizando como critério de pesquisa,
valores fornecidos pelo cliente, através de um formulário. Trataremos de diversos
métodos de acesso a bases de dados, desde a utilização de meios tradicionais, como
13
31. Criando Sites Dinâmicos com ASP 3.0
drivers ODBC, até métodos mais atuais, como a utilização de ADO (ActiveX Data Ob-
jects) e OLE-DB Providers.
➥ Capítulo 6: Neste capítulo trataremos de aspectos avançados de conexão de páginas ASP
com bancos de dados. Veremos como implementar pesquisas avançadas, efetuar
atualizações e alterações em bancos de dados. Analisaremos algumas situações usuais do
dia-a-dia. Também serão abordados aspectos ligados à segurança no acesso às informações.
➥ Capítulo 7: Abordaremos a conexão de páginas ASP com banco de dados. Vamos realizar
um estudo completo do objeto Command e aprender a utilizá-lo para enviar parâmetros
para consultas Parametrizadas do Microsoft Access.
➥ Capítulo 8: Veremos os conceitos de sessão e estado da conexão. Será apresentado o
conceito de aplicação Web. Aprenderemos, em detalhes, a utilizar os objetos Applica-
tion e Session. Também aprenderemos sobre a função e como utilizar o arquivo global.asa.
➥ Capítulo 9: Trataremos de aspectos de segurança envolvendo páginas ASP.
➥ Capítulo 10: Estudaremos diversos componentes que já vem junto com o IIS e fornecem
funcionalidades adicionais, bastante úteis na criação de aplicações Web.
➥ Capítulo 11: Neste capítulo faremos um estudo completo sobre um dos objetos mais
complexos do ASP: FileSystemObject. Estudaremos todos os seus métodos, bem como
os objetos derivados: Drive, Folder e File.
➥ Capítulo 12: Neste capítulo apresentaremos o objeto ASP Error. Também aprenderemos
sobre o conceito de Transações, além de aprendermos a utilizar a diretiva #include e
as diretivas @.
➥ Apêndice A: Teremos uma listagem dos comandos e funções mais utilizados na
linguagem VBScript, que poderá ser usada como uma referência.
Então, “Mãos à obra”
Bem, feitas as devidas apresentações, é hora de começarmos nossa jornada, rumo ao
aprendizado de ASP. Cabe ressaltar a grande aceitação que vem tendo a tecnologia de Active
Server Pages da Microsoft. Basta observar o grande número de sites na Internet que utilizam
esta tecnologia. Também é grande o número de empresas que desenvolvem aplicativos para
sua Intranet, utilizando-se da tecnologia ASP.
Sem a menor sombra de dúvidas, a facilidade no aprendizado, aliada aos recursos oferecidos,
é que tornaram a tecnologia de páginas ASP largamente difundida e utilizada. Quem já
programa em Visual Basic, ou Visual Basic for Applications, ficará absolutamente à vontade
para aprender a tecnologia ASP.
Então, mãos à obra, vamos aprender ASP 3.0.
14
32. Capítulo 1 – Uma Introdução à Tecnologia ASP
Capítulo 1
Uma Introdução à
Tecnologia ASP
15
33. Criando Sites Dinâmicos com ASP 3.0
A Internet faz parte da vida de um número cada vez maior de pessoas. Fazer compras, sem
sair de casa; receber, diretamente no seu computador, as últimas notícias; comprar e vender
ações; procurar emprego pela rede. Todos são exemplos de facilidades oferecidas pelo uso da
Internet. Talvez seja mais simples enunciar o que não é possível de se fazer pela rede, do que
listar todas suas possibilidades. Mas nem sempre foi assim. Para chegar ao nível que nos
encontramos hoje, com a disponibilização dos mais variados serviços via Internet, muita
evolução ocorreu. Desde os tempos de conteúdo meramente informativo, até a possibilidade
de escutar rádio e fazer compras pela rede, muitas tecnologias novas surgiram. E o ritmo de
evolução não pára, pelo contrário, parece acelerar cada vez mais.
Neste capítulo veremos um pouco sobre esta evolução da Internet. Passaremos pelas diversas
fases, desde a criação de sites com conteúdo estático, até os aplicativos de n-camadas atuais.
Também veremos como a tecnologia ASP, contribui para a criação de sites dinâmicos. Com
isso você verá em que situações é indicada a utilização de páginas ASP.
Era uma Vez uma Internet com Conteúdo Estático
Neste tópico veremos um pouco sobre a história de Internet e seus conceitos básicos. Aprenderemos
sobre os diversos elementos envolvidos quando um usuário acessa conteúdo da Internet. Também
veremos as limitações e problemas dos sites pioneiros que criavam conteúdo estático.
Um Começo Quase sem Querer
Poderíamos dizer que a origem da Internet foi casual e despretensiosa. Inicialmente, foi criada
uma rede conhecida como ARPANET, utilizada pelo Departamento de Defesa norte-americano,
alguns fornecedores e pesquisadores ligados a este departamento. Como a ARPANET mostrou-
se de grande utilidade, facilitando a troca de informações, acabou expandindo-se de uma
maneira rápida e inesperada. Neste ponto, a idéia de uma rede de computadores para a troca
de informações estava lançada.
Mais tarde, foi criada uma rede baseada nas mesmas tecnologias da ARPANET, porém com uma
abrangência maior (tanto geográfica, quanto de objetivos). A idéia era trazer os benefícios
demonstrados pela ARPANET, para um número maior de pessoas e empresas. Eis que nascia a
Internet. No final da década de 80, a Internet já era bastante conhecida nos meios acadêmicos do
mundo inteiro. Nesta época, porém, ainda tínhamos a Internet sem a interface gráfica. Normalmente
a troca de informações era feita por FTP, alguns aplicativos baseados em telnet, ou o popular “gopher”,
que tornou-se bastante conhecido nos primeiros anos da década de 90. O gopher, basicamente, era
um sistema baseado em opções de menu, para divulgação e pesquisa de informações.
Até 1991 era proibido o tráfego de qualquer informação comercial pela Internet. Esta proibição
era mantida pela National Science Fundation, entidade que financiou grande parte do
desenvolvimento da Internet nos EUA, até este momento. Com a liberação, as empresas
16
34. Capítulo 1 – Uma Introdução à Tecnologia ASP
passaram a fazer uso da Internet para fins comerciais. Desde então a rede expandiu-se
enormemente, atingindo, hoje, milhões de pessoas em todo o mundo.
A popularização definitiva da rede veio com a criação de uma interface gráfica. Com a criação
da linguagem HTML, servidores HTTP, e programas para acessar as páginas HTML
armazenadas nos servidores (também conhecidos como browser ou navegadores), a Internet
tornou-se mais popular do que nunca. Este foi o momento do surgimento da WWW – World
Wide Web. Talvez a melhor tradução para World Wide Web seja: “Teia de Alcance Mundial”.
Esta é a idéia que temos de Internet. Uma rede (teia) que conecta computadores do mundo
inteiro (alcance mundial), proporcionando a troca de informações e uma infinidade de serviços
e facilidades para as empresas e para o cidadão comum.
Com certeza, os criadores da ARPANET, e depois da Internet, não imaginavam uma expansão
e popularização tão rápida da rede. Hoje, vemos anúncios de sites na televisão, durante o
Telejornal e na transmissão de partidas de futebol. A maioria dos jornais possui um caderno
de informática, quase totalmente dedicado a assuntos relacionados com a Internet. Vemos
reportagens sobre a rede em todas as revistas, e não somente nas especializadas em Informática,
que agora dedicam quase a totalidade de suas matérias a assuntos da Internet. Enfim, a Internet
já faz parte do nosso dia-a-dia; veio para ficar e facilitar a nossa vida.
Agora vamos conhecer um pouco mais sobre a Internet e os diversos elementos que a compõem.
Uma Visão Geral da Internet e de Seus Elementos
Encontrar uma definição precisa e unânime para a Internet é uma tarefa complexa. Vamos
ver os elementos que a compõe, sem nos preocuparmos com definições formais. Por exemplo,
o que é preciso para que o usuário doméstico possa acessar a Internet; onde fica e por onde
circula a informação que está sendo acessada.
Internet
Usuário
Servidor Web
Usuário doméstico conectado à Páginas HTML estáticas
Internet através da linha telefônica.
Figura 1.1: Uma visão geral da Internet, com conteúdo estático.
17