33
ASP (Active Server Pages) Prof. Tales Cabral [email protected] COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

ASP (Active Server Pages) Prof. Tales Cabral [email protected] COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

Embed Size (px)

Citation preview

Page 1: ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

ASP (Active Server Pages)

Prof. Tales [email protected]

COLÉGIO DA IMACULADA

Curso Técnico em Informática

3º Módulo

Page 2: ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br 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).

Page 3: ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

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%>

Page 4: ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

COMO FUNCIONA?

Page 5: ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

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

Page 6: ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

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.

Page 7: ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

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

Page 8: ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

• 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.

Page 9: ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

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

Page 10: ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

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

Page 11: ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

<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

Page 12: ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

<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.

Page 13: ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

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.

Page 14: ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

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.

Page 15: ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

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”.

Page 16: ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

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

Page 17: ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

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

Page 18: ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

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”.

Page 19: ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

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

Page 20: ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

Operadores comparativos e Operadores algébricos

Page 21: ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

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

Page 22: ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

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

Page 23: ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

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

Page 24: ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

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

Page 25: ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

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

Page 26: ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

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

Page 27: ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

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

Page 28: ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

Acessando Banco de Dados (ADO)

• O ADO é instalado junto ao IIS e também encontra-se no servidor

• O ADO possui objetos

Page 29: ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

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

Page 30: ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

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%>

Page 31: ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

Recordset

Page 32: ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

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;"

Page 33: ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br COLÉGIO DA IMACULADA Curso Técnico em Informática 3º Módulo

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/