Upload
internet
View
106
Download
0
Embed Size (px)
Citation preview
ASP (Active Server Pages)
Prof. Tales [email protected]
COLÉGIO DA IMACULADA
Curso Técnico em Informática
3º Módulo
Quem reconhece? O ASP é interpretado pela maioria dos
navegadores, entre eles: Internet Explorer, Firefox, Chrome, Opera...
O que é necessário para reconhecer? Enquanto a edição, o computador deve ser
configurado como servidor (IIS – Internet Information Services).
Após o site criado, a hospedagem deve ser feita em algum servidor que aceite ASP (Windows).Importante: no momento da criação, se o programador deseja sua
página ASP como principal, deverá salvar o arquivos como default.asp (conf. IIS).
Quem edita? O ASP é editado por qualquer
ferramenta de edição de HTML, inclusive Bloco de Notas. Para isso, é necessário somente colocar os comandos entre os delimitadores ASP:
<% Código%>
COMO FUNCIONA?
Um usuário qualquer entra na página principal de uma agenda virtual da sua empresa. Nesta página, existem para todas as letras do alfabeto e para todas as cidades listadas na agenda.
Usuário clica no link de algum site ASP
Uma rotina ASP é adicionada no servidor.
servidorBD
O servidor lê e executa as
instruções ASP
O servidor busca no BD todos os registros
que contém a letra desejada.
Os registros são retornados do banco de
dados (Access, SQL Server, DBase...) para o
servidor
O servidor se encarrega de montar os dados vindos do
BD em forma de HTML conforme a exibição mais
adequadaPara o usuário, apenas
será exibida uma página em
HTML nativo
Funcionamento do ASP
Esquema de Funcionamento Cliente solicita página *.asp; Servidor abre a página e lê seu
conteúdo: Se encontra tags HTML envia direto ao
cliente; Se encontra comandos de script:
1. Pára o envio;2. Processa os comandos;
Servidor envia o resultado HTML ao cliente.
Considerações Iniciais
No ASP:<% início do trecho de código ASP %> final do trecho de código ASP ' (aspas simples) usada antes de comentários dentro do código = é usado no modo de programação por mesclagem de códigos HTML e ASP.
O que difere do PHP:<? início do trecho de código PHP ?> final do trecho de código PHP
• O Arquivo em asp é salvo como “nomearquivo.asp” para que sejam reconhecidos seus comandos no web browser;
• Deve haver um servidor instalado (PWS1 ou IIS2) na máquina para que sejam reconhecidos seus comandos no web browser;
• Os comandos em asp são colocados entre os delimitadores<% e %>;• Não é necessário “;” (ponto-e-vírgula) ou qualquer outro marcador para
terminar uma linha de código.• A declaração de variáveis não depende da cláusula “var” e não é obrigatória a
inicialização• Eventualmente, deve-se declarar uma variável utilizando-se a cláusula “dim”.
Ex.: Dim variável• O código asp pode ser inserido dentro da programação html ou o código html
pode ser inserido dentro da programação asp
Regras
1 PWS (Personal Web Server) – Windows 95 e Windows 98
2 IIS (Internet Information Services) – Windows XP em diante.
Primeiro exemplo
<% quem = "turma do 3o Módulo de Informática" response.write "Olá " & quem%>
O exemplo a seguir simplesmente exibe uma mensagem de cumprimento no browser.
Arquivo: ola.asp
Explicação do primeiro exemplo
<% quem = "turma do 3o Módulo de Informática" response.write "Olá " & quem%>
delimitadores
concatena strings
variável atribuição de valor
comando para escrita na tela
<head> <title>página em HTML e ASP</title> </head> <html> <p>Olá Mundo!!!</p> <% ' (aspas simples significa observação-comentário dentro do código) ' a linha abaixo tem o mesmo efeito do htmlresponse.write "<p>Olá Mundo</p>" %> </html>
Aspas simples
<html> <head><title>Como funciona o ASP?</title></head> <body bgcolor="#FFFFFF"> <p>Olá Mundo!!!</p> <% response.write "<p>Olá Mundo!!!</p>“Response.write “<table><tr><td>Célula1</td></tr></table>” & VbCrLf %> <p><%="Ola Mundo!!!"%></p> </body></html>
Response.write
União dos comandos:
• CR ( Carriage Return - chr(13)) – avançar linha
• LF (Line Feed - chr(10) – retorno do carro
Junta strings (concatena) ou termina a linha.
Segundo exemplo
<% a = 10 b = 2 response.write a * b%>
O exemplo a seguir simplesmente exibe uma mensagem, que é o resultado de uma operação realizada entre variáveis, no browser.
Arquivo: variaveis.asp
Exercício1: Criar um arquivo com o nome exemplo1.asp. O objetivo é atribuir valores para 4 variáveis (nome, idade, nota1 e nota2). Ao término, exibir na tela o nome da pessoa, ano de nascimento e média aritmética de suas notas.
Terceiro exemplo
<% ‘iniciar a variávelacao=”passear”%><HTML><BODY><FONT SIZE=”6” >Eu hoje fui <%=acao%>, para o
Alentejo…</FONT></BODY></HTML>
O exemplo a seguir simplesmente exibe uma mensagem, que é o valor de uma variável, em uma parte do código HTML.
Arquivo: exibevar.asp
Exercício2: Como o exemplo acima, iniciar as variáveis: nome, email, telefone, produtocomprado, preco, vencimento, empresa. No corpo do documento, será montada uma carta a ser apresentada à pessoa dos valores das variáveis, como sendo uma carta de cobrança pelo produto não pago.
Quarto exemplo
<% a=10 b=100 if a < b then response.write “a é menor que b” else if a > b then response.write “a é maior que b” end if end if%>
O exemplo a seguir utiliza o comando if para comparar variáveis e descobrir o maior valor entre elas.Arquivo: maior.asp
Exercício3: Como no exemplo, atribuir valores para as variáveis nome, anodenascimento e exibir na tela mensagem para “Já pode votar” ou “Ainda não tem permissão para votar”.
Quinto exemplo<% a= 4 b=12 if a < b then ‘ comparação entre dois valores for I=0 to a ‘ ciclo FOR response.write “ a(“ & a & ”) é maior que “ & I & “<br>” ‘ o símbolo <br> em HTML simboliza mudança de linha ‘ no mesmo parágrafo next I ‘ final de ciclo FOR else if a>b then I = a While b<I ‘ciclo WHILE Response.write “b(“ & b & ”) é menor que” & I & “<br>” I = I – 1 wend ‘ final de ciclo WHILE end if end if%>
O exemplo ao lado utiliza o comando “for” para exemplificar uma repetição (0 a 4) em ordem crescente e o comando “while” para exemplificar uma repetição (de “a” a “b”) em ordem descrescente.
Arquivo: repeticoes.asp
Sexto exemplo
<% resposta = 4 Select case resposta case “1” response.write “ Não é ” & resposta case “2” response.write “ Não é ” & resposta case “3” response.write “Acertou é ” & resposta case “4” response.write “ Não é ” & resposta case else response.write”Desconhecido….” end select%>
O exemplo ao lado utiliza o comando “case” para exemplificar uma lista de condições de acordo com valor de uma variável
Arquivo: usandocase.asp
Sétimo exemplo
<CENTER><TABLE BORDER=”1”><% contador = 1 while contador<6%> <TR> <TD BGCOLOR=”RED””> <FONT
COLOR=”WHITE”><%=contador%></FONT></TD> <TD><%=(contador-1)%></TD> <TD><%=(contador+1)%></TD> <TD><%=(contador*100)%></TD> </TR><% contador = contador + 1 wend%></TABLE></CENTER>
O exemplo ao lado utiliza o comando “while” para gerar uma tabela de 6 linhas com diferentes valores para os campos. Cada linha conterá diferentes valores para cada coluna.
Arquivo: geratabela.asp
Exercício4: Gerar uma tabela de 6 linhas por 4 colunas, contendo como conteúdo o valor “LXCY”.
Oitavo exemplo
<HTML><HEAD> <TITLE>Teste</TITLE><BODY><% contador = 1 while contador<8%> <FONT face=”ARIAL” size=”<%=contador%>”>TESTE </FONT><BR><% contador=contador + 1 wend%></BODY></HTML>
O exemplo ao lado utiliza o comando “while” para gerar diferentes formatos na palavra “teste”.
Arquivo: diferente.asp
Operadores comparativos e Operadores algébricos
Nova regra 1
<% @ LANGUAGE=VBSCRIPT %><HTML><HEAD><TITLE> ASP – regra1</TITLE></HEAD><BODY><% a = 2 b = a*2 %> <!--erro--><% a = 2 : b = a*2 %> <!--correção-->Valor de B = <%=b%></BODY></HTML>
VBScript só aceita um comando por linha
Correção: separar os comandos por : (dois pontos)
linha1.asp
Nova regra 2
<% @ LANGUAGE=VBSCRIPT %><HTML><HEAD><TITLE> ASP – regra2 </TITLE></HEAD><BODY><% texto = “Paulo Henrique” +“Guaraciaba”%> <!--erro--><% texto = “Paulo Henrique” + _“Guaraciaba”%> <!--correção--><% texto = “Paulo Henrique” + “Guaraciaba” %> <!--correção-->Nome = <%=texto%></BODY></HTML>
Um comando não pode existir em mais de uma linha:
Correção: colocar o comando numa única linha ou usar o caractere _ (underline).
linha2.asp
Nova regra 3
<% @ LANGUAGE=VBSCRIPT %><% Option Explicit %> <!--torna obrigatória a declaração--><HTML><HEAD><TITLE>ASP e Option Explicit</TITLE></HEAD><BODY><% Dim v1 <!--declaração explícita-->v1 = 100v2 = 200v3 = 300 %>V1=<%=v1%><BR>V2=<%=v2%><BR>V3=<%=v3%></BODY></HTML>
Se utilizar a cláusula “Option Explicit”, deve ser obrigatória a declaração das variáveis
variavel.asp
Exemplo com Tipos de Dados
<% @ LANGUAGE=VBSCRIPT %><% Option Explicit %>pagina5<HTML><HEAD><TITLE>Tipos em ASP</TITLE></HEAD><BODY><% Dim A, B, S, R(2)A = Paulo Henrique <!--string-->B = 200 <!--inteiro-->S = #24/09/2001# <!--data-->R(0) = Paulo Henrique <!--string dentro de array-->R(1) = 200 <!--inteiro dentro de array-->R(2) = #24/09/2001# <!--data dentro de array-->%>nome = <%= A%><BR>número = <%= B%><BR>data = <%= S%><BR>elemento 1 do vetor = <%= R(0)%><BR>elemento 2 do vetor = <%= R(1)%><BR>elemento 3 do vetor = <%= R(2)%><BR></BODY></HTML>
Os tipos de dados suportados pelo ASP são: Apenas 1: Variant. Porém este tipo pode ser: Integer, Long, Single, Double, Date, String, Boolean, Null, Empty, Object, Array (T)
tiposdedados.asp
Exemplo com chamada/troca de dados
<html><head><title>HTML que chama o ASP</title></head><body bgcolor="#FFFFFF"> <form ACTION = "horas.asp" method="POST">Clique neste botão para saber as Horas:<P><p> <input type="submit" name="Horas" value="Horas"></p> </form> <BR> <BR> <form ACTION = "data.asp" method="POST">Clique neste botão para saber a Data:<p> <input type="submit" name="Data" value="Data"></p> </form></body></html>
Existem 2 métodos de troca de dados GET (exibe na barra de endereços) e POST (não exibe)
ex1.html
Exemplo com chamada/troca de dados
<html><head><title>Horas ... </title></head><body bgcolor="#FFFFFF">São exatamente <%=Time %>.</body></html>
horas.asp
<html><head><title>Data de Hoje ... </title></head><body bgcolor="#FFFFFF">Hoje é <% = Date %>.</body></html>
data.asp
Exemplo com chamada/troca de dados
<html><head><title>Código que roda no Cliente.</title></head><script language="VBScript">SUB BOTAO1_ONCLICK()RodarCli.BOTAO1.Value = "Mudamos o Value!"END SUB</script><body bgcolor="#FFFFFF"><form NAME=RodarCli method="POST"><p><input type="button" name="BOTAO1" value="Vamos mudar o
value!"></p></form></body></html>
Trocas para o mesmo site.
muda.asp
Acessando Banco de Dados (ADO)
• O ADO é instalado junto ao IIS e também encontra-se no servidor
• O ADO possui objetos
Acessando Banco de Dados (ADO)
Exemplo de conexão<% Set Conex = Server.CreateObject (“ADODB.Connection”) Conex.Open “BancoDados”, “ ”, “ ” Set RS = Server.CreateObject ("ADODB.RecordSet") RS.Open "SELECT * FROM TabClientes", Conex, 3, 3%>
Set Conex = Server.CreateObject("ADODB.Connection")'Abre a conexão com o banco de dados utilizando o Driver {Microsoft Access...'(*.mdb) indica que o arquivo utiliza extensão mdbConex.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access
Driver (*.mdb)}“[,"username","password“]strQuery = "INSERT INTO tAtraso
(num,data,aluno,serie,periodo,motivo,obs,turno,discip) VALUES ('"&numeroatraso&"','"&dataatraso&"','"&nomealuno&"','"&turmaaluno&"','"&periodoatraso&"','"&motivoatraso&"','"&observacao&"', '"&turnoatraso&"', '"&disciplinaaluno&"')“
Set ObjRs = objConn.Execute(strQuery)Conex.close
Acessando Banco de Dados (ADO) - Exemplo
<% Dim Conexao Set Conexao = Server.CreateObject("ADODB.Connection") Conexao.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\
db\bancodedados.mdb") Set Registros = Conexao.execute(“select * from tabela”) Registros.movefirst Do while NOT Registros.EOF Response.write “<H1>” & Registros.campo1 & VbCrLf Registros.movenext Loop Registros.close Set Registros = Nothing Conexao.close%>
Recordset
Conectado a diferentes driversUsando Driver ODBC
Elemento comum: Set Conexao = Server.CreateObject(“ADODB.Connection”)
ASPACCESS MDB: Conexao.Open "Driver={Microsoft Access Driver
(*.mdb)};DBQ=“&Server.MapPath("/jsmith/data/statistics.mdb") ACCDB: _______________________________________________________
____________________________________________________________________________________________________________________________
ASPMySQL Conexao.Open "DRIVER={MySQL ODBC 5.1 Driver};
SERVER=ENDEREÇO_DA_BASE_MYSQL; PORT=3306; DATABASE=NOME_DA_BASE; USER=NOME_DA_BASE; PASSWORD=SENHA_DA_BASE; OPTION=3;"
Conectado a diferentes driversUsando OLE DB
Elemento comum: Dim Conexao ‘Opcional Set Conexao = Server.CreateObject(“ADODB.Connection”)
ASPACCESS MDB: Conexao.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data
Source =" & Server.MapPath("\db\bancodedados.mdb") "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\bancodedados.mdb;“ ou "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\bancodedados.mdb; User
Id=usuario; Password=senha;" ACCDB: Provider=Microsoft.ACE.OLEDB.12.0;Data Source= C:\
myFolder\myAccessFile.accdb; Persist Security Info=False; ASPMySQL
Provider=any oledb provider's name;OledbKey1=someValue;OledbKey2=someValue;
Veja mais formas de conexão em: http://www.connectionstrings.com/