Escolar Documentos
Profissional Documentos
Cultura Documentos
ASP
Programao WEB
Prof. Carlos Souza
Agenda
Introduo
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 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
<html> <body>
<form method="get" action="retrieve.asp">
</body>
</html>
Cdigo ASP
Request.queryString
<html>
</html>
Cdigo ASP
Request.serverVariables
Varivel Descrio
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
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> <%
%>
</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>
<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>
<button>
Define um boto
Cdigo ASP
O 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>
<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)%>
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
Sintaxe
Set fsObj=Server.CreateObject("Scripting.FileSystemObject")
Criao de arquivo
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)
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.
Funes
e Atributos
Descrio
Varivel
AtEndOfLine
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.
Funes
e Atributos
Descrio
Varivel
Skip
SkipLine
Write WriteLine WriteBlankLines
Cdigo ASP
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
Cdigo ASP
Global.asa
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
Requires_New
Supported Not_Supported
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
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