Você está na página 1de 40

1

ASP

Programao WEB
Prof. Carlos Souza

Agenda

ASP Introduo Caractersticas Cdigo ASP


Notao Objeto Request Objeto Response Objeto Server Controles

Introduo

ASP - Active Server Pages

ASP uma tecnologia da Microsoft, baseada em scripts que roda no servidor e permite que os scripts embutidos em uma pgina HTML sejam executados por um servidor WEB.

Caractersticas

ASP - Active Server Pages


ASP roda sobre o contexto do - IIS Internet Information Server Um arquivo ASP pode conter texto , HTML, XML, e scripts, e possuem

extenso ".asp

Os scripts de um arquivo ASP so executados no servidor ASP: <% cdigo asp %>

Caractersticas

ASP - Processamento

Cdigo ASP

Notao

<% : incio do trecho de cdigo ASP %> : final do trecho de cdigo ASP ' (aspas simples) : usada antes de comentrios dentro do cdigo = : usado no modo de programao por mesclagem de cdigos HTML e ASP.

Cdigo ASP
<html> <head> <title> Exemplo de pgina em HTML e ASP</title> Cdigo Exemplo </head> <body> <p>Ol Mundo!</p> <% ' Vou exibir a mensagem novamente ... response.write "<p>Ol Mundo!!</p>" ... E novamente... %> <%="Ola Mundo!!!"%> <body> </html>

Cdigo ASP

O Objeto Request

Mantm conjunto de dados requisitados pelo cliente ao servidor Funes do Objeto Request:

request.form - recupera valores de variveis enviadas via formulrio pelo mtodo post. request.queryString - recurepa valores de variveis enviadas via formulrio pelo mtodo get. request.servervariables - recupera informaes sobre o browser do usurio e sobre o servidor WEB. request.cookies - recupera informaes do cookie do browser do usurio. request.clientCertificate - mostra informaes sobre o certificado de segurana do usurio. Somente usado em sites com transmisso segura de dados (https)

Cdigo ASP

Request.Cookies
<html> <head><title>cookies</title></head> <body> <% fnome = Request.Cookies(Nome") response.write (Primeiro Nome = " & fnome)

%>
</body> </html>

Cdigo ASP
<html> <body> <% dim x,y

for each x in Request.Cookies response.write("<p>") if Request.Cookies(x).HasKeys then for each y in Request.Cookies(x) response.write(x & ":" & y & "=" & Request.Cookies(x)(y)) response.write("<br />") next else response.Write(x & "=" & Request.Cookies(x) & "<br />") end if response.write "</p>" next %> </body> </html>

Cdigo ASP

Request.queryString

Sintaxe: request.querystring("nomedavariavel") , ou request("nomedavariavel")


Exemplo, formulrio de cadastramento.
<head><title>Formulrio</title></head>

<html> <body>
<form method="get" action="retrieve.asp">

<div>Nome: </div><input type="text" name="nome">


<div>Endereo: </div><input type="text" name="endereco">

<input type="submit" value="enviar">


</form>

</body>
</html>

Cdigo ASP

Request.queryString

Exemplo, exibio de dados do formulrio.


<head><title>Recuperao de dados</title></head> <body> <div>Exibir nome e endereo do usurio que preencheu o formulrio: </div> <% response.write "<div>Nome: </div>" & request.querystring("nome") response.write "<div>Endereo: </div>" & request. querystring("endereco") %> </body>

<html>

</html>

Cdigo ASP

Request.serverVariables
Varivel Descrio

Request_Method Query_String Remote_Addr Logon_User

Retorna GET or POST, dependendo do mtodo utilizado no envio da solicitao ao servidor Retorna a string enviada na solicitao Retorna o endereo IP do usurio Retorna a conta de logon do usurio

ALL_HTTP
HTTP_User_Agent

Retorna todo o cabealho HTTP


Retorna o tipo do browse cliente

HTTP_Accept_Languag Determina a linquagem suportada pelo browser cliente e Path_Info Retorna o caminho completo do arquivo atual, tendo como base o diretrio raiz do servidor web

Cdigo ASP

Request.serverVariables
<html> <head><title>Server Variables</title></head> <body> <%

response.write "<div>" & request.Servervariables("remote_Addr") & "</div>"


response.write "<div>" & request.Servervariables("server_name") & "</div>"

'request.servervariables("remote_addr") busca o IP remoto do usurio


'request.servervariables("server_name") busca o nome ou IP do servidor

%>
</body>

</html>

Cdigo ASP

O Objeto Response

Mantm conjunto de dados enviados do servidor para o cliente Funes do Objeto Response:

response.write - permite enviar texto ao browser. til na construo de textos que mixam textos prontos e variveis. response.redirect - Redireciona o browser para um endereo especificado. response.buffer - avisa o browser do usurio que a pgina s dever ser mostrada aps ser totalmente carregada. Interessante se usado com a funo response.redirect response.cookies - grava informaes no cookie do browser

Cdigo ASP

Response.Write
<html>
<head> <title>response.asp</title> </head> <body bgcolor="#FFFFFF"> <% response.write "Ol!!! O texto vai variar de acordo com a varivel counter" for counter = 1 to 5000 response.write counter & "->"

next
%>

</body>
</html>

Cdigo ASP

Response.Cookies
<html> <head><title>cookies</title></head> <body> <% O comando time insere o horrio atual do servidor response.cookies(Nome") = Helio response.cookies(MeuCookie").Expires = #10/05/2012# %>

</body>
</html>

Cdigo ASP

Controles
Tag Descrio

<form>

Define um formulrio HTML para entrada do usurio

<input /> Define um controle de entrada <textarea> Define um multi-linha de controle de entrada de texto <label> <fieldset> Define um rtulo para um elemento de entrada Define uma borda em torno de elementos em forma

<legend>
<select> <option>

Define uma legenda para um elemento fieldset


Define uma lista de seleo (drop-down list) Define uma opo em uma lista de seleo

<optgroup> Define um grupo de opes relacionadas em uma lista de seleo

<button>

Define um boto

Cdigo ASP

O Objeto Server

Permite o acesso a configurao de funes e mtodos do servidor. Funes do Objeto Server:


server.ScriptTimeOut - configurao do Timeout de carregamento da pgina server.HTMLEncode - codifica strings. Usado para codificar strings que contenham caracteres especiais. server.URLEncode - transforma strings para o formato QueryString. server.MapPath - mapeia arquivos de acordo com o path fsico, a partir do path virtual. server.CreatObject - permite abertura de instncias de objetos vinculados a componentes ActiveX.

Cdigo ASP

Server.createObject
<HTML>
<HEAD>

<TITLE>Componente File Access</TITLE>


</HEAD>

<BODY>
<% dim fs,fname set fs=Server.CreateObject("Scripting.FileSystemObject") set fname=fs.CreateTextFile("c:\test.txt", true) fname.WriteLine("Hello World!") fname.Close set fname=nothing set fs=nothing %>

</BODY>
</HTML>

Cdigo ASP

Server.createObject
<HTML>
<HEAD><TITLE>Componente File Access</TITLE></HEAD>

<BODY>
<% Set objeto= CreateObject("Scripting.FileSystemObjects") Set gv = objeto.OpenTextFile("c:\test.txt", ForWriting, True, False) ' A linha acima abre o arquivo para gravao. Caso ele no exista., criado gv.Writeline("Esta linha foi inserida no arquivo.") gv.Close objeto=nothing %> <p>Fim</p> </BODY> </HTML>

Cdigo ASP

Server.URLEncode

Converte uma string que seria usada como URL ou hiperlink em uma URL codificada. til caso seja necessrio utilizar uma string com caracteres que seriam tratados de forma diferente pelo servidor, provavelmente gerando um erro, como: \,/,&,?,etc. Sintaxe
Server.URLEncode( string )

Exemplo
<%= Server.URLEncode(http://www.asp.com?date=11/02/02)%>

Server Object - Methods

HTMLEncode Method

Converte o texto de uma string em texto HTML, onde os characteres ilegais contidos nele sero substitudos na sequncia scape apropriada. til quando da possibilidade de erro na interpretao, e consequente renderizao da pgina pelo browser, de texto com characteres como:<,>,,etc. Sintaxe
Server.HTMLEncode(string with HTML characters)

Exemplo
<%= Server.HTMLEncode("The paragraph tag: <P>")%>

Cdigo ASP

MapPath Method

Retorna o mapeamento do caminho relativo ou virtual para o caminho fsico para a pasta no servidor. Syntaxe
Server.MapPath(Virtual Path)

Example:
<%Server.MapPath(www.myfile.com/thefile.asp)%) >
O cdigo acima pode retornar: C:\inetpub\wwwroot\thefile.asp

Cdigo ASP

Componente File Access


Usado para acessar arquivos texto, muitas vezes utilizados como banco de dados de acesso sequencial.

Sintaxe

Conexo com o componente

Set fsObj=Server.CreateObject("Scripting.FileSystemObject")

Criao de arquivo

Set txtStreamObj =fsObj.CreateTextFile(name,[bOverWrite])

Abertura de arquivo (leitura / gravao)

Set txtStreamObj = fsObj.OpenTextFile(name,[iomode,[bCreate,[format]]])


Obs.: fsObj, txtStreamObj so variveis definidas pelo usurio.

Componente File Access

Parmetros

name Nome do arquivo texto (colocar o path caso o arquivo se localize em outra pasta que no a do arquivo ASP que possui este cdigo) bOverWrite TRUE: caso o arquivo existe, ele deletado, e um novo criado. FALSE: caso o arquivo exista, ele no substitudo. IOMode Modo de abertura do arquivo selecionado, para gravao (FROWRITING), para leitura (FORREADING)

Componente File Access

Parmetros

bCreate TRUE: caso o arquivo selecionado para abertura no exista, ele criado. format TRUE: criado um arquivo texto usando o formato Unicode. FALSE: criado um arquivo texto usando o formato ASCII.

Obs.: Os valores TRUE ou FALSE so determinados de acordo com uma tabela existente num arquivo chamado fobjvbs.inc , o qual deve ser includo no cdigo da pgina que contm o cdigo ASP de leitura do arquivo text.

Componente File Access

Funes

e Atributos
Descrio

Varivel

AtEndOfLine

AtEndOfStream Column Line


Close Read ReadAll ReadLine

Retorna TRUE caso o ponteiro tenha chegado ao final da linha. Usado apenas em arquivos abertos para leitura. Retorna TRUE caso o ponteiro tenha chegado ao final do arquivo. Usado apenas em arquivos abertos para leitura. Retorna o nmero da coluna que o ponteiro se encontra. A primeira coluna tem numerao 1. Retorna o nmero da linha que o ponteiro se encontra. A primeira linha tem numerao 1. Fecha um arquivo aberto. L um determinado nmero de caracteres do arquivo. L todo o arquivo. Quando o arquivo for muito grande, usar outros mtodos de leitura, como a leitura de linha por linha. L uma linha inteira, ou seja, l os caracteres que esto entre a posio do ponteiro e o final da linha.

Componente File Access

Funes

e Atributos
Descrio

Varivel

Skip

pula um determinado numero de caracteres.

SkipLine
Write WriteLine WriteBlankLines

pula uma linha inteira.


grava uma determinada string para o arquivo. grava uma determinada string para o arquivo e posiciona o ponteiro no incio da linha seguinte. grava uma determinada quantia de linhas brancas ao arquivo.

Cdigo ASP

Server Side Includes (SSI)


Linguagem de programao simples usada em scripts ASP para adicionar cdigos de outras pginas ao da pgina que est sendo interpretada;

Composta pelas diretivas Include e Virtual Devem ser adicionadas ao cdigo entre tags de comentrio Sintaxe
<!-- #include file ="headers\header.inc" --> Ou <!-- #include virtual ="/html/header.inc" -->

Cdigo ASP

SSI - Exemplo

Arquivo Inicio.asp":
<html> <body> <h3>Mensagem:</h3> <p><!--#include file=mensagem.inc"--></p> <h3>So exatamente:</h3> <p><!--#include file="time.inc"--></p> </body> </html>

Arquivo "wisdom.inc":
"Congratulo a voc que acessou meu site agora!"

Arquivo "time.inc:
<% Response.Write(Time) %>

Cdigo ASP

Global.asa

Arquivo opcional, que contm declaraes de objetos, variveis e mtodos que podem ser acessados por todas as pginas em uma aplicao ASP.
O arquivo Global.asa deve ser armazenado no diretrio raiz do aplicativo ASP

Cada aplicao s pode ter apenas um Global.asa


Alteraes no arquivo Global.asa requerem o reincio da aplicao no servidor que a hospeda

Cdigo ASP

Global.asa

Um arquivo Global.asa pode conter somente:

Application events Session events <object> declarations TypeLibrary declarations

Use somente Server and Application objects nos eventos Application_OnStart e Application_OnEnd
No evento Session_OnEnd, pode usar Server, Application, e Session objects No evento Session_OnStart pode usar qualquer object

Cdigo ASP

Global.asa - Exemplo
<script language="vbscript"runat="server">
sub Application_OnStart ......some vbscript end sub sub Application_OnEnd ......some vbscript end sub sub Session_OnStart ......some vbscript end sub sub Session_OnEnd ......some vbscript end sub

code
code code code

</script>

Cdigo ASP

ObjectContext Object

Este objeto utilizado para confirmar ou cancelar uma transao gerenciada por servios de componentes, como transaes de banco de dados que foram iniciadas por um script contido em uma pgina ASP.
Para utilizar o objeto ObjectContext, o arquivo .ASP deve ter a diretiva @TRANSACTION. Isso vai significar que a pgina ser executada em um contexto transacional, e s ser finalizada quando esta for finalizada, com sucesso ou falha.

Nesses casos, a diretiva @TRANSACTION directive, deve ser a primeira linha de cdigo no arquivo.ASP, caso contrrio ser gerado um erro.

ObjectContext Object

@TRANSACTION directive

Syntax

<%@ TRANSACTION = value %>


Value : String que indica o tipo de transao suportada, podendo assumir os seguintes valores:
Valor Required Efeito Uma transao ser iniciada, caso no exista

Requires_New
Supported Not_Supported

Uma nova transao ser iniciada


Nenhuma transao ser iniciada Nenhuma transao ser iniciada, nem tratada

ObjectContext Object - Methods

SetAbort Method

O mtodo SetAbort aborta a transao iniciada no script do arquivo ASP, e os recursos no so atualizados.
Sintaxe:
ObjectContext.SetAbort

SetComplete Method

O mtodo SetComplete declara que o script no h motivo para que a transao no seja concluda. Mas se todos os componentes transacionais no script chamarem SetComplete a transao ser concluda e os recursos sero atualizados. Sintaxe :
ObjectContext.SetComplete

ObjectContext Object - Events

OnTransactionAbort Event

O evento OnTransactionAbort ocorrer (ser disparado) se ocorrer falha na transao. Syntax: <%Sub OnTransactionAbort end Sub %>

OnTransactionCommit Method

O evento OnTransactionCommit ocorrer depois que os script's envolvidos no contexto transactional realizarem o commit. Syntax: <% Sub OnTransactionCommit end Sub %>

Tratamento de Erro

Objeto ASPError

O objeto ASPError est implementado no ASP3.0 e s est disponvel no IIS 5.0 O objeto ASPError usado para obter informaes de qualquer erro ocorrido em um script ASP. O ASPError criado quando Server.GetLastError invocado, assim o objeto s poder ser utilizado para acessar informaes de erros usando o mtodo Server.GetLastError.

Tratamento de Erro

Objeto ASPError

Syntax :
<% ASPError.property %> A propriedade somente para leitura, no sendo possvel indicar informaes sobre erros.

Propriedade
ASPCode Source File

Descrio
Retorna um erro gerado pelo IIS Retorna o cdigo da linha que gerou o erro Retorna o nome do arquivo .asp que contm o cdigo que gerou o erro

Line
Column Description ASPDescription

Indica o nmero da linha de cdigo que gerou o erro


Indica a coluna da linha do arquivo cujo cdigo gerou o erro Retorna uma breve descrio do erro Retorna uma descrio detalhada do erro

Você também pode gostar