014_Curso-de-Active-Server-Pages-da-UFPI
43 pág.

014_Curso-de-Active-Server-Pages-da-UFPI

Disciplina:ALGORITMOS6.517 materiais90.919 seguidores
Pré-visualização9 páginas
METHOD

Indica o método pelo qual os dados informados no formulário serão passados ao
programadoWebServer.
QuandoMETHOD=POST,osdadosserãopassadosjuntocomarequisiçãodocliente.
QuandoMETHOD=GET,osdadosserãopassadosdepoisdarequisiçãodocliente.

ACTION

IndicaaURLdaaplicaçãodoservidorWeb.
NAME

Indicaonomedoformulárioemquestão.(Opcional)

http://Apostilas.Fok.com.br–SeusitedeApostilasetutoriais 31de43

Depoisdessatagdevemosinformarquaissãoosobjetosdeinterfacedoformulário.
CAIXADETEXTOSIMPLES

<INPUT TYPE=Tipo NAME=NomeC VALUE=Valor MAXLENGTH=Tam_Max
READONLY>
• Tipo:PASSWORD(sóaparecemasteriscos),TEXT(aparecemcaracteresnormais)
• NomeC:nomedacaixadetextoemquestão;
• Valor:textoqueaparecenacaixa(opcional);
• Tam_Max:indicaquantoscaracterespodemserdigitados(Opcional);
• READONLY:indicaqueacaixadetextoésomenteleitura(Opicional);

Exemplo21.1Form1.asp

<%@LANGUAGE=VBSCRIPT%>
<HTML><HEAD><TITLE>CursodeASP</TITLE></HEAD>
<BODY>
<FORMACTION="form2.asp"METHOD=GET>
Usuário<BR>
<INPUTTYPE=TEXTNAME="user"VALUE="Lineu"MAXLENGTH=10><BR>
Senha<BR>
<INPUTTYPE=PASSWORDNAME="senha"MAXLENGTH=10><BR>
Data<BR>
<INPUTTYPE=TEXTNAME="Data"VALUE="<%=Date%>"READONLY>
</FORM>
</BODY>
</HTML>

ÁREADETEXTO

<TEXTAREANAME=NomeACOLS=NumColsROWS=NumLinREADONLY>
TextoDefault
</TEXTAREA>

• NomeA:Nomedaáreadetexto;
• NumCols:Quantidadedecolunas;
• NumLin:Quantidadedelinhas;
• READONLY:indicaqueaáreaésomenteleitura(Opicional);
• TextoDefault:textoqueaparecenaárea;

Exemplo21.2Form2.asp

<%@LANGUAGE=VBSCRIPT%>
<HTML><HEAD><TITLE>CursodeASP</TITLE></HEAD>
<BODY>
<FORMACTION="form2.asp"METHOD=GET>
<TEXTAREANAME=”Obs”COLS=50ROWS=5>
<%Fori=0to100
Response.Write“Linhanúmero“&i&chr(13)
Next%>
</TEXTAREA>

http://Apostilas.Fok.com.br–SeusitedeApostilasetutoriais 32de43

</FORM>
</BODY>
</HTML>

CAIXASDECOMBINAÇÃO

<SELECTSIZE=TamNAME=NomeCC>
<OPTIONVALUE=valor_passadoSELECTED>ValorMostrado</OPTION>
<\SELECT>

• Tam:Quantidadedelinhas(default=1);
• NomeCC:Nomedoobjeto;
• Valor_Passado:valorcorrespondenteaessaopção;
• SELECTED:IndicaqueessaseráaopçãoDefault;
• Valor_Mostrado:valormostradonoWebBrowser;
Obs:Podemexistirváriasopções..

Exemplo21.3Form3.asp

<%@LANGUAGE=VBSCRIPT%>
<HTML><HEAD><TITLE>CursodeASP</TITLE></HEAD>
<BODY>
<FORMACTION="form2.asp"METHOD=GET>
<SELECTSIZE=1NAME=”Ano”>
<OPTIONVALUE=1998>1998</OPTION>
<OPTIONVALUE=1999>1999</OPTION>
<OPTIONVALUE=2000SELECTED>2000</OPTION>
<OPTIONVALUE=2001>2001</OPTION>
</SELECT>
</FORM>
</BODY>
</HTML>

BOTÕESDESELEÇÃOECHECAGEM

<INPUTTYPE=tipoNAME=NomeRVALUE=ValorCHECKED>

• Tipo:RADIO(Marcasomenteum)CHECKBOX(podemarcarmaisdeum)
• NomeR:nomedoobjeto;
• Valor:Valorrelacionadoaobotãodeseleção;
• CHECKED:deixaobotãoselecionadoquandooformulárioforcarregado.

AidéiaéterváriosobjetosdessescomomesmoNAME.

Exemplo21.4Form4.asp

<%@LANGUAGE=VBSCRIPT%>
<HTML><HEAD><TITLE>CursodeASP</TITLE></HEAD>
<BODY>
<FORMACTION="form2.asp"METHOD=GET>

http://Apostilas.Fok.com.br–SeusitedeApostilasetutoriais 33de43

Sexo<BR>
Homem<INPUTTYPE=RADIONAME="Sexo"VALUE="HOMEM"><BR>
Mulher<INPUTTYPE=RADIONAME="Sexo"VALUE="MULHER"><BR>
Indeciso<INPUTTYPE=RADIONAME="Sexo"VALUE="HOMO"><P>
Ocupação<BR>
Estuda<INPUTTYPE=CHECKBOXNAME="Ocp"VALUE="E"><BR>
Trabalha<INPUTTYPE=CHECKBOXNAME="Ocp"VALUE="T">
</FORM>
</BODY>
</HTML>

BOTÕES[

<INPUTTYPE=tipoVALUE=Valor>

Tipo:SUBMIT(ChamapáginaindicadaemACTION)RESET(Limpaformulário)
Valor:RótulodoBotão

Exemplo21.5Form5.asp

<%@LANGUAGE=VBSCRIPT%>
<HTML><HEAD><TITLE>CursodeASP</TITLE></HEAD>
<BODY>
<FORMACTION="form5.asp"METHOD=GET>
<INPUTTYPE=TEXTNAME="user"MAXLENGTH=10><BR>
<INPUTTYPE=SUBMITVALUE=”Enviar”>
<INPUTTYPE=RESETVALUE=”Limpar”>
</FORM>
</BODY>
</HTML>

QuandopressionamosobotãoEnviarobservamosqueapáginaérecarregada.Isso
acontece porque o ACTION do nosso formulário é igual a Form5.asp. Se olharmos mais
detalhadamente,acaixadeURLdobrowservaiconterumendereçomaisoumenosparecido
com: http://nome_servidor/diretório_virtual/Form5.asp?user=Lineu. Isso acontece pois
METHOD=GET,useréonomedonossoobjetocaixadetextodoformulárioeLineufoio
valor digitado. Percebeu a importância que tem em nomearmos os objetos dos nossos
formulários?

7.5REQUEST

Esse objeto serve para possibilitar a captura em nossas páginas ASP dos dados
passadospelosformuláriosHTMLaoServidorWeb.

Existemtrêsformasdiferentesdefazermosessacaptura,dependendodoMETHOD:
GET Request.QueryString(Nome_Objeto)
POST Request.Form(Nome_Objeto)
GETOUPOST Request(Nome_Objeto)

BOTÕES

<INPUTTYPE=tipoVALUE=Valor>

http://Apostilas.Fok.com.br–SeusitedeApostilasetutoriais 34de43

Tipo:SUBMIT(ChamapáginaindicadaemACTION)RESET(Limpaformulário)
Valor:RótulodoBotão

Exemplo22.1Request1.asp

<%@LANGUAGE=VBSCRIPT%>
<HTML><HEAD><TITLE>CursodeASP</TITLE></HEAD>
<BODY>
<FORMACTION="Request2.asp"METHOD=GET>
Usuário<INPUTTYPE=TEXTNAME="user"MAXLENGTH=10><BR>
Senha<INPUTTYPE=PASSWORDNAME="senha"MAXLENGTH=10><BR>
<INPUTTYPE=SUBMITVALUE=”Enviar”>
<INPUTTYPE=RESETVALUE=”Limpar”>
</FORM>
</BODY>
</HTML>

Request2.asp

<%@LANGUAGE=VBScript%>
<HTML><HEAD><TITLE>CursodeASP</TITLE></HEAD>
<BODY>
Usuário=<%=Request.QueryString(“user”)%><BR>
Senha=<%=Request(“senha”)%>
</BODY>
</HTML>

ObservequeométodoGETnãoéadequandoparaformulárioqueexigemalguma
informaçãosecreta(senha)poisoquefoidigitadonomesmoémostradonacaixadeendereço
doBrowser.Sendoassim,procureadaptaroexemploanterioraométodoPOST.

ComoobjetoRequestsomoscapazestambémde:

LerCookies Request.Cookies(“NomeCookie”)
SaberoendereçoIPdousuário Request.ServerVariables(“REMOTE_ADDR”)
SaberoMETHODutilizado Request.ServerVariables(“REQUEST_METHOD”)

Exemplo22.2Request3.asp

<%@LANGUAGE=VBScript%>
<HTML><HEAD><TITLE>CursodeASP</TITLE></HEAD>
<BODY>
EndereçoIPdousuário:
<%=Request.servervariables("REMOTE_ADDR")%>
</BODY>
</HTML>

Obs :ComoRequest.QueryString,Request.Form,Request.Cookies,Request.ServerVariables
possuemcoleçõesdevariáveis,asmesmaspodemserlidascomumcomandoForEach.

Exemplo22.3Request4.asp

http://Apostilas.Fok.com.br–SeusitedeApostilasetutoriais 35de43

<%@LANGUAGE=VBSCRIPT%>
<HTML><HEAD><TITLE>CursodeASP</TITLE></HEAD>
<BODY>
<%FOREACHITEMINRequest.ServerVariables
Response.writeITEM&“–“&Request.ServerVariables(ITEM)&“<BR>”
NEXT%>
</BODY></HTML>

7.6SERVER

Representa o Servidor Web, permitindo acesso a algumas de suas propriedades.
Alémdisso,elepossibilitaainstanciaçãoempáginasASPdecomponentesActiveXescritos
poroutrosprogramadores.

OsobjetosActiveXfazemparteda tecnologiaCOMparacriaçãodecomponentes
desoftwarereutilizáveis.Aidéiaédesenvolverobjetoscomessepadrãoparaquepossamser
reutilizadospor“qualquer”linguagemdeprogramação.

Em particular, o ASP pode trabalhar com componentes COM, só que os mesmos
não podem possuir interface visual. Sendo assim, em páginas ASP usamos os chamados
ActiveXDLL`s,componentesquenãofornecemnenhumainterfacecomousuário,somente
comaplicativos(métodos,propriedades).

Essescomponentesestendembastantenossopoderdeprogramação.Dentreoutras
coisas,elesnospermitem:

• AcessarBancodeDados
• Criar/Ler/Alterararquivos
• Enviare-mail

ScriptTimeOut

Propriedade que determina o tempo
máximo(segundos) que um script ASP
podeficarexecutando,antesqueoServidor
Webotermine.Issoserveparaproibirque
scrits ASP fiquem executando
“infinitamente”.

HTMLEncode Método que codifica uma string para oformatoHTML.

MapPath
Método que retorna o PATH real de um
determinado diretório virtual do servidor
Web.

URLEncode Essemétodo transformaumastringparaoformatopadrãodeURL.

CreateObject
Cria uma instância de um componente
ActiveXnapáginaASP:

SetObj=Server.CreateObject(“IDObjeto”)

Para exemplificar o uso do objeto Server trabalharemos com o ActiveX
FileSystemObject. Tal componente possui uma serie de propriedades e métodos para
manipulaçãodearquivosediretóriosdoservidorWeb.

ParainstanciartalobjetonumapáginaASPescrevemososeguintecódigo:

DimObjeto

http://Apostilas.Fok.com.br–SeusitedeApostilasetutoriais 36de43

SetObjeto=Server.CreateObject(“Scripting.FileSystemObject”)

Esseobjeto recém instanciado representao Sistema