ASP (Active Server Pages) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br COLÉGIO DA...

Preview:

Citation preview

ASP (Active Server Pages)

Prof. Tales Cabraltalescabral@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).

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/

Recommended