Title: Universidade do Vale do Para
1Universidade do Vale do ParaíbaColégio Técnico
Antônio Teixeira FernandesDisciplina Programação
p/ Web.
- Material III-Bimestre
- Introdução Programação na Linguagem ASP
- Active Server Page
- Site http//www1.univap.br/wagner
- Prof. Responsável
- Wagner Santos C. de Jesus
2Introdução a Programação Distribuída
- Tem como objetivo desenvolver ferramentas para
aquisição e envio de dados em fontes remotas.
Dados (HTML,Arquivo de Imagens, XML, Dados
Relacionais)
Aplicação Java
3O que faz uma aplicação distribuída?
- Obtém dados de fontes remotas
- Páginas HTML, arquivos de imagens, dados
relacionais e semiestruturados (XML), etc - Acessa continuamente informações de conteúdo
dinâmico. - Cotação de ações, notícias, monitoramento remoto
de sistemas - Envia dados para fontes remotas
- Servidores de arquivos, computação massivamente
paralela.
4Servidor de HTTP
- Servidor web Servidor responsável pelo
armazenamento de páginas de um determinado site,
requisitados pelos clientes através de browsers.
5O protocolo HTTP
- (HyperText Transfer protocol) é o protocolo de
rede utilizado para entrega virtualmente de todos
os arquivos e outros dados sejam eles arquivos
HTML, arquivos de imagens, resultados de consulta
a banco de dados, arquivo de texto, ou qualquer
outro tipo de recurso.
6Sistema de comunicaçãoArquitetura
Camadas
Aplicação
HTTP
4
Transporte
TCP
3
IP
Protocolo de Internet
2
REDE
1
7Transações HTTP
- Uma transação consiste em
- Estabelecimento da conexão
- Requisição (pelo cliente)
- Resposta (pelo servidor)
- Fechamento da conexão.
8Linha inicial de requisição Método de envio de
dados
Linha de Requisição
Método SP URL SP Versão CR LF
Cabeçalho Parâmetro CR LF Cabeçalho Parâmetro CR LF Cabeçalho Parâmetro CR LF Cabeçalho Parâmetro CR LF Cabeçalho Parâmetro CR LF Cabeçalho Parâmetro CR LF
Cabeçalho Parâmetro CR LF Cabeçalho Parâmetro CR LF Cabeçalho Parâmetro CR LF Cabeçalho Parâmetro CR LF Cabeçalho Parâmetro CR LF Cabeçalho Parâmetro CR LF
CRLF CRLF CRLF CRLF CRLF CRLF
Mensagem Mensagem Mensagem Mensagem Mensagem Mensagem
Linhas de cabeçalho
Linhas em banco
Indica o fim do cabeçalho
URL (User Resource locator)
9Linha de resposta (linha de status)
Linha de status
Versão SP Status SP Motivo CR LF
Cabeçalho Parâmetro CR LF Cabeçalho Parâmetro CR LF Cabeçalho Parâmetro CR LF Cabeçalho Parâmetro CR LF Cabeçalho Parâmetro CR LF Cabeçalho Parâmetro CR LF
Cabeçalho Parâmetro CR LF Cabeçalho Parâmetro CR LF Cabeçalho Parâmetro CR LF Cabeçalho Parâmetro CR LF Cabeçalho Parâmetro CR LF Cabeçalho Parâmetro CR LF
CRLF CRLF CRLF CRLF CRLF CRLF
Corpo da Entidade (Mensagem) Corpo da Entidade (Mensagem) Corpo da Entidade (Mensagem) Corpo da Entidade (Mensagem) Corpo da Entidade (Mensagem) Corpo da Entidade (Mensagem)
Linhas de Cabeçalhos
Linha em branco
(HTML)
10O código de status
- 1xx Indica uma mensagem de informação apenas.
- 2xx indica operação de algum tipo bem sucedida.
- 3xx Redireciona o cliente para uma outra URL.
- 4xx Indica um erro por parte do cliente
- 5xx Indica um erro por parte do servidor
11Conceitos para um código em ASP(Active Server
Page - Página de Servidor Ativa)
- Um código escrito na linguagem ASP roda
- sempre no servidor nunca no cliente.
- ASP- vem a ser um aplicativo que roda com a
- linguagem Vbscript. Embutida na estrutura de
- um código em HTML.
12Servidor de HTTP (IIS)
- Para executarmos uma aplicação em ASP
- precisamos Ter instalado na máquina um
- aplicativo denominado IIS (Internet
Information Server). Esse aplicativo permite que
a máquina seja transformada em um servidor web
para execução de scripts e acesso a banco de
dados.
13Diagrama de Funcionamento (Página com ASP - PWS)
- Obs Todo programa ASP tem como saída um código
HTML.
14Procedimento para gravação e execução de páginas
com ASP.
- Observação Todos os programas em ASP
- devem ser colocados no diretório criado pelo
- servidor que tem como padrão o nome
- c\Inetpub\wwwrot.
- Para executar uma página devemos usar o
- mesmo procedimento que usarmos para uma
- página contida no servidor exemplo
- http//localhost/nome.asp ou HTML.
15Operadores da Linguagem ASP
16Comandos Básico da linguagem ASP.
- lt - gt- Vem a ser um comando
- fundamental para se escrever um código de
- script em ASP, permite que o servidor consiga
- diferenciar o código HTML do código ASP.
- Obs Todo código Asp deve ser delimitado
- pelos símbolos de Menor porcentagem e
- maior porcentagem
17Atenção !!!!
- Importante Todo Programa em ASP deve
- possuir a extensão ( .asp ), caso contrário
- não será identificado na sua execução.
18Estrutura de um programa em ASP.
- ltHTMLgtltHEADgt ltTITLEgtEstrutura-ASPlt/TITLEgtlt/HE
ADgtltBODYgt -
- lt
- ltCódigo de Programagt gt
-
-
- lt/BODYgt
- lt/HTMLgt
19Estruturas Básicas de controle.
- Atribuição
- Condição
- Repetição
20Criando variáveis
- Sintaxe
-
- Dim ltNomeVariávelgt
- Exemplo Criação e atribuição de valores
-
-
- lt
- dim a
- a 10
- gt
-
-
21 - O operador e comercial concatena duas String
(Juntando as duas para serem usadas).
- Exemplo
- Dim K,Z,Resposta
- K "Aba"
- Z "caxi"
- Reposta KZ
- Saída será a variável resposta Abacaxi.
22If /then/else Comando que permite testar se uma
condição é verdadeiro ou falsa.
- Sintaxe
- If ltcondiçãogt then
- ltBloco de Instrução-1gt
- else
- ltBloco de Instruções-2gt
- end if
23Exemplo if/then/else
- Exemplo
- lt
- dim x
- x "S" gt
- lt if x "S" or x "N" then gt
- ltH1gt Valor de x válido !!!!
lt/H1gt - lt else gt
- ltH1gt Valor de x Inválido !!!!
lt/H1gt - lt End if gt
-
- Saida seria Valor de x Válido escrito em tamanho
grande na tela do browser
24Select Case Permite verificar uma lista de
expressões.
- Sintaxe
- Select Case ltVarMgt
- Case ltListaExpgt
- ltBloco-Instruções-1gt
- Case ltListaExpgt
- ltBloco-Instruções-2gt
-
-
- Case Else
- ltBloco-Instruçõesgt
- End Select
25Exemplo Select Case
- lt dim a a 0
- Select Case a
- Case 0 gt
- ltfont size 10 Face "Times new Roman"
color "ff000"gt - Desligado !!!
- lt/fontgt
- lt Case 1 gt ltfont size 10 Face
"Times new Roman" color "000ff"gt - Ligado !!!
- lt/fontgt
- lt Case Else gt
- ltBgt Não é um digito Binário lt/Bgt
- lt End Select gt
A saída seria Desligado em tamanho 10 escrito em
vermelho.
26For/Next Permite criar uma repetição
sequencial.
- Sintaxe
- For ltVarMgt ltExpN1gt to ltExpN2gt Step /-
ltExpN3gt -
- ltBloco-Instruçõesgt
- Next
27Exemplo For/Next
- Exemplo
- ltBgtVocê quer Aprender Asp? lt/Bgt
- lt dim b for b 1 to 100 gt
ltBgtSim !!!!,lt/Bgt - lt Next gt
- A saída seria Você quer Aprender Asp Sim !!!!,
Sim !!!!, Sim !!!!, .............
28While/Loop Cria uma repetição condicional para
determinado número de instruções.
Sintaxe Do While ltCondiçãogt
ltBloco-Instruçõesgt Loop
29Exemplo While/Loop
- Exemplo
-
-
- ltBgtAs poderosas dizem lt/Bgt lt dim b b
1 do while b lt 3 gt ltBgtOi !!!!,lt/Bgt
lt b b 1gt lt Loop gt -
- A saída seria As poderosas Dizem Oi !!!!, Oi
!!!!, Oi !!!!
30Do Until Cria repetição condicional baseada em
uma expressão contrária ao While.
- Sintaxe
- Do Until ltCondiçãogt
-
- ltBloco-Instruçõesgt
- Loop
31Exemplo Do Until
- Exemplo
- ltBgtOs pokemons dizem lt/Bgt
- lt dim b b 1 do Until b gt 3 gt
ltBgtOláá !!!!,lt/Bgt lt b b 1gt lt
Loop gt - A saída seria Os pokemons Dizem Oláá !!!!, Oláá
!!!!, Oláá !!!!
32Criando saída de dados no video (Browser).
- Response.Write()
- Para mostrar a saída de um processamento de
- um programa no vídeo devemos usar o objeto
- do ASP Response, acompanhado do método
- Write. Envia a resposta escrevendo o
- resultado no vídeo.
33Sintaxe Response.Write.
- Sintaxe
- Response.Write ltStringgt
34Exemplo Response.Write
- Exemplo
- lt dim i,cor for i 1 to 3 if i 1
then cor "ff0000" end if if
i 2 then cor "00ff00" end if
if i 3 then cor "0000ff" end if
Response.Write "ltfont Color"cor"gtTreina
mento - Asp lt/Fontgtltbrgt" - next gt
35Funções da linguagem ASP.
- Cstr() -Converte um número em String.
- Cint() - Converte um número com casas decimal em
um número inteiro. - Len() - Retorna com a quantidade de caracteres
encontrada em uma String. - Mid() - Retorna com a parte da String
Especificada.
36Exemplo CStr()
- Dim x,y
- x 34
- y Cstr(x)
- O resultado de Y será "34" como String.
37Exemplo Cint()
- Dim x,y
- x 34.5
- y Cint(x)
- O resultado de y será "34" como String.
Obs Grande parte de conversões de dados de
variáveis e seus tipos o Asp irá fazer
automaticamente sem a necessidade de funções.
38Exemplo Len()
- Dim k,a
- a "Abacaxi"
- K Len(a)
- O resultado de K será 7.
39Exemplo Mid()
- Dim k,a
- a "Abacaxi"
- K mid(a,1,3)
- O resultado de K será Aba.
40Enviando dados de um Formulário para um programa.
- ltForm Name ltNomeFormgt MethodltNome-Métodogt
Action ltNome-Scriptgt gt - Method Clausula que especifica que método será
- usado para o envio de dados.
- Action Clausula que especifica para que Script
- irá os dados do formulário.
41Método Get Envia dados de um formulário para o
Script do Servidor. Exibindo os dados a serem
enviados.
- Obs Usando o método Get os dados iram aparecer
no location de seu Navegador. - Sintaxe
- lt Form Name ltNomeFormgt Method"Get"
ActionltNome-Scriptgt gt
42Exemplo do Método Get
- Exemplo
- ltform Name "form1" Method"Get"
Action"Cadastro.asp"gt
43Obs Os dados enviados pelo método Get irão
aparecer da seguinte maneira
- Location do Navegador
- http//localhost/formul.html?NomeTamaraEndereco
RuadasCove - Significado dos Símbolos
- ? - Separa o endereço web do nome dos campos do
formulário. - - Indica os dados que foram escritos pelo
usuário no campo. - - Separação de termino de um campo inicio de
outro. - - Indica a separação dos dados escritos por
espaços em branco.
44Exemplo de dados Enviados pelo método Get
- Obs A declaração do método deverá ser
- feita sempre em um formulário.
45Exemplo do Código representado pelo desenho
anterior.
- ltHTMLgtltHEADgt ltTITLEgtEnvia Dadoslt/TITLEgtlt/HEAD
gt - ltBODYgt
- ltform Name "form1" Method"Get
Action"Cadastro.asp"gt Nome ltinput
type"text" Name"Nome"gtltbrgt Endereco ltinput
type"text" Name"Endereco"gtltbrgt Enviar ltinput
type"SUBMIT" value"Enviar"gtltbrgt lt/formgt - lt/BODYgt
- lt/HTMLgt
- Obs Para Enviar dados de um formulário é
necessário que troquemos a - propriedade Button da clausula type do comando
ltInputgt por Submit.
46Método Post Envia dados de um formulário para
o Script do Servidor. Não exibindo os dados a
serem enviados.
- Obs Usando o método Post os dados não iram
aparecer no location de seu Navegador. - Sintaxe
- lt Form Name ltNomeFormgt MethodPost
ActionltNome-Scriptgt gt
47Exemplo do Método Post
- Exemplo
- ltform Name "form1" Method"Post"
Action"Cadastro.asp"gt
48Variáveis do Padrão CGI
- CGI - Vem a ser um padrão de especificação de
- programas para web cujo significado da sigla é
- (Common Gateway Interface ) Interface
- Comum entre os portais(Comunicação). Uma
- especificação de um CGI é padrão para
- qualquer servidor web, para isso existem
- variáveis para podermos pegar informações
- vindas de um servidor em tempo de execução
- de um programa.
49Exemplo das variáveis CGI.
50Request.ServerVariables() - Capturando os
valores das variáveis CGI.
- Para Captura as informações enviadas pelas
- variáveis CGI por intermédio de um servidor
- HTTP usamos o objeto Request seguido pelo
- método ServerVariables().
51Request.ServerVariables().Capturando os valores
das variáveis CGI.
- Sintaxe
- ltvarmgt Request.ServerVariables(ltNome-Variávelgt).
52Exemplo Request.ServerVariables()
- Exemplo
- lt
- dim resposta
- resposta Request.ServerVariables("SCRIPT_NA
ME") - Response.Write resposta "ltBRgt"
- gt
- O resultado desse programa será o nome do
programa(ASP) que estará - sendo executado com script acima.
53Request.Form() Captura dados enviados para o
script pelo formulário.
- Sintaxe
- ltVarmgt Request.Form(ltNome-campo-Formuláriogt)
54Exemplo Request.Form()
- Exemplo
- lt
- Dim Lnome,LEndereco
- Lnome Request.form("Nome") Lendereco
Request.form("Endereco") - Response.Write Lnome "ltbrgt"
- Response.Write Lendereco
- gt
55Código do formulário (Teste.html)
- ltHTMLgtltHEADgt ltTITLEgtExemplo-ASPlt/TITLEgtlt/HEAD
gtltBODYgt ltform Name "form1" Method"Post"
Action"Tabuada.asp"gt Valor ltinput
type"text" Name"valor"gtltbrgt ltinput
type"SUBMIT" value"Calcular"gtltbrgt
lt/Formgtlt/BODYgtlt/HTML
56Código do Script em ASP (Tabuada.asp)
- ltHTMLgtltHEADgt ltTITLEgtExemplo-Código-ASPlt/TITLEgt
lt/HEADgtltBODYgt lt dim lvalor
lvalor Request.form("valor") for i 1
to 10 t lvalor i
Response.Write lvalor "" i ""
t"ltbrgt" next gtlt/BODYgtlt/HTMLgt
57Estrutura de Banco de Dados (ASP)
- Conceito
- Um banco de dados é uma coleção de informações
relacionadas a um determinado assunto ou
finalidade.
58GERENCIADOR DE BANCO DE DADOS
- Tem como base o processo de classificar, relatar,
adquirir e modificar os dados concebidos em seu
interior.
Alguns Gerenciadores de Banco de Dados (
SQL-Server, Informix, Fox-pro, Oracle, Paradox,
Access......).
59FUNDAMENTOS BÁSICOS DA ESTRUTURA DE UM (BANCO DE
DADOS).
- Um Banco de Dados é constituído por um formato
padrão que deve ser respeitado como um conceito
de Tabela e Registros.
60Estrutura Básica de Banco de Dados.
- Os Conjunto de Dados formam os Campos
- Os Conjuntos de Campos Formam Registros
- Os Conjuntos de Registros Formam as Tabelas ou
(Arquivos). - Os Conjuntos de Tabelas (Arquivos) formam os
Bancos de Dados.
61Exemplo de Tabela
62Usando a Linguagem de Manipulação de Dados.
(SQL)
- A linguagem SQL (Structure Query Language)
Linguagem de Estrutura de Consulta. Possibilita
uma estrutura única de comandos que podem ser
usados em qualquer Banco de Dados do Mercado com
maior rapidez e eficiência na escrita de códigos
de operações básicas de manipulação de dados.
63Comando Básicos da Linguagem SQL.
- Select - Pesquisa dados de uma Tabela.
- Update - Modifica dados de uma Tabela.
- Insert - Insere dados em uma Tabela.
- Delete - Apaga dados de uma Tabela.
64Sintaxe Select /All/DistinctltCampos-Tabelagt
From ltNome-Tabelagt Where ltCondiçãogt
- Exemplo
- Select Nome,Endereco From Cadastro Where nome
Jorge Mauro
65Sintaxe Update ltNome da Tabelagt set
ltnome-do-campogt ltConstantegt Where ltCondiçãogt
- Exemplo
- Update CadAlunos set nomeAluno Maria da Coves
Where Codigo 001
66Sintaxe Insert into ltNome-Tabelagt(
ltNome-dos-Camposgt ) Values(ltLista de Camposgt)
- Exemplo
- Insert Into CadAlunos (Nome,Endereco) Values(
'Marta Cunha','Rua Siqueira Campos,3' )
67Sintaxe Delete From ltNome-da-Tabelagt Where
ltCondiçãogt
- Exemplo
- Delete From CadAlunos Where nome Maria das
Coves
68Criando uma Tabela no Gerenciador de Banco de
Dados do Access.
69Observação Ao criar uma tabela em um banco de
dados é necessário que se crie no diretório onde
esta o banco de dados do servidor.
(c\Inetpub\wwwroot\CadAlunos.mdb)
70Diagrama que demonstra Conexão do servidor de
banco de dados com a linguagem ASP.
71Siglas de Objetos de acesso B.D.
- ADO - (ActiveX Data Objects) é quem fornece a
interface entre o banco de dados e o ASP. - OLE-DB - (Object Linking and Embedding Database)
- Permite que qualquer Banco de dados possa ser
conectado com ASP. - ODBC - (Open DataBase Connectivity) - Permite que
os dados possam ser reconhecidos pelo servidor e
o cliente.
72Acessando um Banco de Dados em ASP (Usando
Access)
- Para isso é necessário fazer uma conexão ADO em
seguida a ligação do drive de ODBC com banco de
dados. Isso se da por intermédio do comando set.
73Sintaxe set ltVariável ADOgt
Server.CreateObject(ltTipo de Conexãogt)
- Exemplo
- Set Db Server.CreateObject("ADODB.Connection")
74Abrindo um Banco de Dados através de uma conexão
ODBC.Método Open
- Sintaxe
- ltVariável ADOgt.Open ltEspecificação
CaminhoDrivergt - Exemplo
- Db.Open "DBQC\inetpub\wwwroot\Banco.mdbDriver
Driver para o Microsoft Access (.mdb)" - Obs Desse momento em diante qualquer tabela
desse banco de dados poderá ser acessada via
programa ASP.
75Atenção O procedimento de se montar uma
instrução SQL para qualquer tipo de operação em
uma tabela de um Banco de Dados é denominado
(Query) Consulta.
76Criando uma consulta em um programa ASP. Uso do
SELECT.
- Exemplo
- .......
- Dim Query
- Query "Select from teste where numero
'Maria das Coves'" - ......
77Manipulação de Arquivo.
- Método Execute() Permite executar um comando
SQL colocado na variável String determinada.
78Método Execute()
- Sinatxe
- Set ltVariável-de-Registrogt ltObjeto-Dadosgt.Execut
e(ltStringgt) - Exemplo
- Set RecSet Db.Execute(Query)
79Métodos de Deslocamento do Ponteiro em um
Arquivo e Localização de Fim de Arquivo.
- EOF - Final do Arquivo
- MoveNext - Próximo Registro
- MoveFirst - Primeiro Registro
80Método Eof - Retorna True se caso o ponteiro
estiver no final do arquivo e False caso contrário
- Exemplo
- lt
- if RecSet.Eof then gt
- ltScript Language JavaScriptgt
alert("Final de Arquivo Encontrado !!!")
lt/Scriptgt - ltEnd If gt
81Método MoveFirst - Move o ponteiro para o
primeiro registro.
- Sintaxe ltObjetogt.MoveFirst
- Exemplo
- RecSet.MoveFirst
82Método MoveNext - Move o ponteiro para o próximo
registro.
- Sinatxe
- ltObjetogt.MoveNext
- Exemplo
- RecSet.MoveNext
83Método Close Fecha a tabela SQL aberta.
- Sintaxe
- ltObjetogt.Close
- Exemplo
- RecSet.Close
84Inserindo dados em uma tabela por intermédio do
comando Insert.
- Exemplo
- lt
- Set Db Server.CreateObject("ADODB.Connection")
Db.Open "DBQC\inetpub\wwwroot\Banco.mdbDriver
Driver para o Microsoft Access (.mdb)" - Query "Insert Into Tabela1(nome)
Values('Carlos Henrique')" -
- Set RecSet Db.Execute(Query)
- gt
85Consultando dados em uma tabela comando Select.
- Exemplo
- lt
- Set Db Server.CreateObject("ADODB.Connection")D
b.Open "DBQC\inetpub\wwwroot\Banco.mdbDriverD
river para o Microsoft Access (.mdb)" - Query "Select from teste Where nome 'Roberta
Silva'"Set RecSet Db.Execute(Query) - If RecSet.Eof then gt
-
- ltScript language "JavaScript"gt alert("Nome
não Encontrado !!!") lt/Scriptgt - lt Else
-
- Response.Write RecSet("Nome")
- End if
- RecSet.Close gt
86Obs Para se fazer referencia a um determinado
campo de uma tabela pegando seus dados, use
aplicação da seguinte sintaxe.Exemplo
RecSet(ltString-Campogt) ltString-Campogt - Deve
ser o nome do campo da tabela que se deseja pegar
seus dados.
87Alterando dados de uma Tabela Update.
- Exemplo
- lt
- Set Db Server.CreateObject("ADODB.Connection")D
b.Open "DBQC\inetpub\wwwroot\Banco.mdbDriverD
river para o Microsoft Access (.mdb)" - Query"Update CadTeste set nome 'Maria das
Coves' Where Codigo '001' " - Set RecSet Db.Execute(Query)
- gt
88Obs No exemplo abaixo o registro cujo código é
0001 os dados do campo nome serão alterados para
(Maria das Coves).