Exemplo - Univap

Propaganda
Universidade do Vale do Paraíba
Colégio Técnico Antônio Teixeira Fernandes
Disciplina 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
Introduçã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
2
O 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.
3
Servidor de HTTP
• Servidor web: Servidor responsável pelo
armazenamento de páginas de um determinado
site, requisitados pelos clientes através de
browsers.
4
O 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.
5
Sistema de comunicação
Arquitetura
Camadas
4
Aplicação
HTTP
3
TCP
Transporte
2
IP
Protocolo de
Internet
1
REDE
6
Transações HTTP
Uma transação consiste em:
•
•
•
•
Estabelecimento da conexão;
Requisição (pelo cliente);
Resposta (pelo servidor);
Fechamento da conexão.
7
Linha inicial de requisição
Método de envio de dados
Método
SP
URL
SP
Versão
]
Cabeçalho : Parâmetro CR LF
Cabeçalho : Parâmetro CR LF
CRLF
CR LF
Linha de
Requisição
Linhas de
cabeçalho
Linhas em banco
Mensagem
Indica o fim do
cabeçalho
URL – (User Resource locator)
8
Linha 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
CRLF
Corpo da Entidade (Mensagem)
Linhas de Cabeçalhos
Linha em branco
(HTML)
9
O 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
10
Conceitos 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.
Servidor 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.
Diagrama de Funcionamento
(Página com ASP - PWS)
Obs : Todo programa ASP tem como saída um código HTML.
Procedimento 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.
Operadores da Linguagem
ASP
Comandos Básico da linguagem ASP.
<% - %>- 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
Atenção !!!!
Importante : Todo Programa em ASP deve
possuir a extensão ( .asp ), caso contrário
não será identificado na sua execução.
Estrutura de um programa em ASP.
<HTML>
<HEAD>
<TITLE>Estrutura-ASP</TITLE>
</HEAD>
<BODY>
:
:
<%
<Código de Programa>
%>
:
:
</BODY>
</HTML>
Estruturas Básicas de controle.
•Atribuição
• Condição
• Repetição
Criando variáveis
Sintaxe :
Dim <NomeVariável>
Exemplo : Criação e atribuição de valores
:
:
<%
dim a
a = 10
%>
:
:
& - O operador e comercial concatena duas
String (Juntando as duas para serem usadas).
Exemplo :
Dim K,Z,Resposta
K = "Aba"
Z = "caxi"
Reposta = K&Z
Saída será a variável resposta = “Abacaxi”.
If /then/else : Comando que permite testar se uma
condição é verdadeiro ou falsa.
Sintaxe :
If <condição> then
<Bloco de Instrução-1>
else
<Bloco de Instruções-2>
end if
Exemplo if/then/else
Exemplo :
<%
dim x
x = "S" %>
<% if x = "S" or x = "N" then %>
<H1> Valor de x válido !!!! </H1>
<% else %>
<H1> Valor de x Inválido !!!! </H1>
<% End if %>
Saida seria Valor de x Válido escrito em tamanho grande na tela do browser
Select Case : Permite verificar uma lista
de expressões.
Sintaxe :
Select Case <VarM>
Case <ListaExp>
<Bloco-Instruções-1>
Case <ListaExp>
<Bloco-Instruções-2>
:
:
Case Else
<Bloco-Instruções>
End Select
Exemplo Select Case
<%
dim a
a = 0
Select Case a
Case
0
A saída seria Desligado em tamanho 10 escrito em vermelho.
%>
<font size = 10 Face = "Times new Roman" color= "#ff000">
Desligado !!!
</font>
<%
Case 1 %>
<font size = 10 Face = "Times new Roman" color= "#000ff">
Ligado !!!
</font>
<% Case Else %>
<B> Não é um digito Binário </B>
<% End Select %>
For/Next : Permite criar uma repetição
sequencial.
Sintaxe :
For <VarM> = <ExpN1> to <ExpN2> [Step +/- <ExpN3>]
:
: <Bloco-Instruções>
Next
Exemplo : For/Next
Exemplo :
<B>Você quer Aprender Asp? : </B>
<%
dim b
for b = 1 to 100 %>
<B>Sim !!!!,</B>
<%
Next
%>
A saída seria Você quer Aprender Asp: Sim !!!!, Sim !!!!, Sim !!!!, .............
While/Loop : Cria uma repetição condicional
para determinado número de instruções.
Sintaxe :
Do While <Condição>
:
: <Bloco-Instruções>
Loop
Exemplo : While/Loop
Exemplo :
:
:
<B>As poderosas dizem : </B>
<%
dim b
b = 1
do while b <= 3 %>
<B>Oi !!!!,</B>
<% b = b + 1%>
<% Loop %>
:
:
A saída seria As poderosas Dizem : Oi !!!!, Oi !!!!, Oi !!!!
Do Until : Cria repetição condicional baseada
em uma expressão contrária ao While.
Sintaxe :
Do Until <Condição>
:
: <Bloco-Instruções>
Loop
Exemplo : Do Until
Exemplo :
<B>Os pokemons dizem : </B>
<%
dim b
b = 1
do Until b > 3 %>
<B>Oláá !!!!,</B>
<% b = b + 1%>
<% Loop%>
A saída seria Os pokemons Dizem : Oláá !!!!, Oláá !!!!, Oláá !!!!
Criando 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.
Sintaxe Response.Write.
Sintaxe :
Response.Write <String>
Exemplo : Response.Write
Exemplo :
<%
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 "<font Color="&cor&">Treinamento - Asp
</Font><br>"
next
%>
Funçõ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.
Exemplo : CStr()
Dim x,y
x = 34
y = Cstr(x)
O resultado de Y será = "34" como String.
Exemplo : 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.
Exemplo : Len()
Dim k,a
a = "Abacaxi"
K = Len(a)
O resultado de K será = 7.
Exemplo : Mid()
Dim k,a
a = "Abacaxi"
K = mid(a,1,3)
O resultado de K será = “Aba”.
Enviando dados de um Formulário
para um programa.
<Form Name = <NomeForm> Method=<Nome-Método> Action= <Nome-Script> >
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.
Mé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 :
< Form Name = <NomeForm> Method="Get" Action=<Nome-Script> >
Exemplo do Método Get
Exemplo :
<form Name = "form1" Method="Get" Action="Cadastro.asp">
Obs : Os dados enviados pelo método Get
irão aparecer da seguinte maneira
Location do Navegador
http://localhost/formul.html?Nome=Tamara&Endereco=Rua+das+Cove
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.
Exemplo de dados Enviados pelo
método Get :
Obs : A declaração do método deverá ser
feita sempre em um formulário.
Exemplo do Código representado pelo
desenho anterior.
<HTML>
<HEAD>
<TITLE>Envia Dados</TITLE>
</HEAD>
<BODY>
<form Name = "form1" Method="Get” Action="Cadastro.asp">
Nome: <input type="text" Name="Nome"><br>
Endereco: <input type="text" Name="Endereco"><br>
Enviar <input type="SUBMIT" value="Enviar"><br>
</form>
</BODY>
</HTML>
Obs : Para Enviar dados de um formulário é necessário que troquemos a
propriedade Button da clausula type do comando <Input> por Submit.
Mé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 :
< Form Name = <NomeForm> Method=“Post” Action=<Nome-Script> >
Exemplo do Método Post
Exemplo :
<form Name = "form1" Method="Post" Action="Cadastro.asp">
Variá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.
Exemplo das variáveis CGI.
Request.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().
Request.ServerVariables().
Capturando os valores das variáveis CGI.
Sintaxe :
<varm> = Request.ServerVariables(<Nome-Variável>).
Exemplo : Request.ServerVariables()
Exemplo :
<%
dim resposta
resposta = Request.ServerVariables("SCRIPT_NAME")
Response.Write resposta & "<BR>"
%>
O resultado desse programa será o nome do programa(ASP) que estará
sendo executado com script acima.
Request.Form() : Captura dados enviados para o
script pelo formulário.
Sintaxe :
<Varm> = Request.Form(<Nome-campo-Formulário>)
Exemplo : Request.Form()
Exemplo :
<%
Dim Lnome,LEndereco
Lnome = Request.form("Nome")
Lendereco = Request.form("Endereco")
Response.Write Lnome & "<br>"
Response.Write Lendereco
%>
Código do formulário (Teste.html)
<HTML>
<HEAD>
<TITLE>Exemplo-ASP</TITLE>
</HEAD>
<BODY>
<form Name = "form1" Method="Post"
Action="Tabuada.asp">
Valor : <input type="text" Name="valor"><br>
<input type="SUBMIT" value="Calcular"><br>
</Form>
</BODY>
</HTML
Código do Script em ASP
(Tabuada.asp)
<HTML>
<HEAD>
<TITLE>Exemplo-Código-ASP</TITLE>
</HEAD>
<BODY>
<%
dim lvalor
lvalor = Request.form("valor")
for i = 1 to 10
t = lvalor * i
Response.Write lvalor &"*"& i & "="& t&"<br>"
next
%>
</BODY>
</HTML>
Estrutura de Banco de Dados
(ASP)
Conceito :
Um banco de dados é uma coleção de
informações relacionadas a um determinado
assunto ou finalidade.
GERENCIADOR 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......).
FUNDAMENTOS 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.
Estrutura 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.
Exemplo de Tabela
Usando 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.
Comando 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.
Sintaxe :
Select [*/All/Distinct][<Campos-Tabela>] From [<Nome-Tabela>]
Where [<Condição>]
Exemplo :
Select Nome,Endereco From Cadastro Where nome = ‘Jorge Mauro’
Sintaxe :
Update <Nome da Tabela> set <nome-do-campo> = <Constante>
[Where <Condição>]
Exemplo :
Update CadAlunos set nomeAluno = ‘Maria da Coves’ Where Codigo = ‘001’
Sintaxe :
Insert into <Nome-Tabela>[( <Nome-dos-Campos> )] Values(<Lista
de Campos>)
Exemplo :
Insert Into CadAlunos (Nome,Endereco) Values( 'Marta Cunha','Rua Siqueira
Campos,3' )
Sintaxe :
Delete From <Nome-da-Tabela> [Where <Condição>]
Exemplo :
Delete From CadAlunos Where nome = ‘Maria das Coves’
Criando uma Tabela no Gerenciador de Banco de Dados
do Access.
Observaçã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)
Diagrama que demonstra Conexão do servidor
de banco de dados com a linguagem ASP.
Siglas 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.
Acessando 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.
Sintaxe :
set <Variável ADO> = Server.CreateObject(<Tipo de Conexão>)
Exemplo :
Set Db = Server.CreateObject("ADODB.Connection")
Abrindo um Banco de Dados através de uma conexão
ODBC.
Método : Open
Sintaxe :
<Variável ADO>.Open <Especificação Caminho;Driver>
Exemplo :
Db.Open "DBQ=C:\inetpub\wwwroot\Banco.mdb;Driver={Driver para o
Microsoft Access (*.mdb)};"
Obs : Desse momento em diante qualquer tabela
desse banco de dados poderá ser acessada via
programa ASP.
Atençã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.
Criando uma consulta em um programa ASP. Uso do
SELECT.
Exemplo :
.......
Dim Query
Query = "Select * from teste where numero =
'Maria das Coves'"
......
Manipulação de Arquivo.
Método Execute() : Permite executar um
comando SQL colocado na variável String
determinada.
Método Execute()
Sinatxe :
Set <Variável-de-Registro> = <Objeto-Dados>.Execute(<String>)
Exemplo :
Set RecSet = Db.Execute(Query)
Mé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
Método Eof - Retorna True se caso o ponteiro estiver no final do
arquivo e False caso contrário
Exemplo :
<%
if RecSet.Eof then %>
<Script Language = JavaScript> alert("Final de Arquivo Encontrado !!!") </Script>
<%End If %>
Método MoveFirst - Move o ponteiro para o
primeiro registro.
Sintaxe : <Objeto>.MoveFirst
Exemplo :
RecSet.MoveFirst
Método MoveNext - Move o ponteiro para o próximo
registro.
Sinatxe :
<Objeto>.MoveNext
Exemplo :
RecSet.MoveNext
Método Close : Fecha a tabela
SQL aberta.
Sintaxe :
<Objeto>.Close
Exemplo :
RecSet.Close
Inserindo dados em uma tabela por intermédio do
comando Insert.
Exemplo :
<%
Set Db = Server.CreateObject("ADODB.Connection")
Db.Open "DBQ=C:\inetpub\wwwroot\Banco.mdb;Driver={Driver para
o Microsoft Access (*.mdb)};"
Query = "Insert Into Tabela1(nome) Values('Carlos Henrique')"
Set RecSet = Db.Execute(Query)
%>
Consultando dados em uma tabela comando Select.
Exemplo :
<%
Set Db = Server.CreateObject("ADODB.Connection")
Db.Open "DBQ=C:\inetpub\wwwroot\Banco.mdb;Driver={Driver para o
Microsoft Access (*.mdb)};"
Query = "Select * from teste Where nome= 'Roberta Silva'"
Set RecSet = Db.Execute(Query)
If RecSet.Eof then %>
<Script language = "JavaScript"> alert("Nome não Encontrado !!!") </Script>
<% Else
Response.Write RecSet("Nome")
End if
RecSet.Close %>
Obs : Para se fazer referencia a um determinado campo de
uma tabela pegando seus dados, use aplicação da seguinte
sintaxe.
Exemplo : RecSet(<String-Campo>)
<String-Campo> - Deve ser o nome do campo da tabela que
se deseja pegar seus dados.
Alterando dados de uma Tabela Update.
Exemplo :
<%
Set Db = Server.CreateObject("ADODB.Connection")
Db.Open
"DBQ=C:\inetpub\wwwroot\Banco.mdb;Driver={Driver para
o Microsoft Access (*.mdb)};"
Query="Update CadTeste set nome = 'Maria das Coves' Where Codigo = '001'
"
Set RecSet = Db.Execute(Query)
%>
Obs : No exemplo abaixo o registro cujo código é 0001 os dados do
campo nome serão alterados para (Maria das Coves).
Download