LIMSwiki
Conteúdo
O ASP (de Active Server Pages), também conhecido como ASP Clássico hoje em dia, é uma estrutura de bibliotecas básicas (e não uma linguagem) para processamento de linguagens de script no lado servidor para geração de conteúdo dinâmico na Web. Exemplos de linguagens aceitas são: VBScript, JScript, PerlScript, Tcl ou Python sendo que apenas as duas primeiras são suportadas por padrão.[1]
A mais comumente difundida foi VBScript, sendo encontrada várias referências a ASP VBScript em artigos.
ASP foi substituído pelo ASP.NET, mas até hoje é suportada por versões atuais do IIS.
Ele roda/corre nativamente em Windows, através do serviço chamado de IIS (Internet Information Service) - o servidor web da Microsoft, ou do PWS (Personal Web Server) em ambientes com o Windows 98. Além disso ele pode rodar em outras plataformas, como Linux no servidor Apache quando usando um módulo de um programa como o Tomcat.
O script é interpretado no lado do servidor e o que é enviado ao lado do usuário/utilizador (navegador, por exemplo) é apenas a saída que normalmente é uma linguagem de marcação como HTML, XHTML ou XML.
Por se tratar de uma linguagem que roda do lado do servidor, é possível estabelecer o que vai ser enviado para o usuário (é o caso de sites que possuem diferentes perfis de acesso) e também fazer consultas a bancos de dados.
Exemplos de código ASP
Um exemplo de uma página ASP conforme os padrões web pode ser representado pelo seguinte código:
O exemplo 1 mostra uma tabela com links que aparecerão nas colunas iniciais. Clicando em um dos links o exemplo 2 será chamado e receberá um ID como parâmetro. No exemplo 2 será permitido alterar as informações e após clicar no botão Submit, o exemplo 3 será chamado para processar as informações e atualizá-las no banco de dados em SQL.
Exemplo 1 (1a parte):
1 <html>
2 <head>
3 <title>dbfullteste1.asp</title>
4 </head>
5 <body bgcolor="#FFFFFF">
6 <%
7 ' Conexão com o banco
8 set conntemp=server.createobject("adodb.connection")
9 conntemp.open "Estudante","Estudante","magic"
10
11 set rstemp=conntemp.execute("select * from autores where AU_ID<100")
12 qtde_campos=rstemp.fields.count -1
13 %>
14 <table border="1">
15 <tr>
16 <td valign="top">---</td>
17 <% 'Preenche a primeira linha com o nome dos campos
18 for i=0 to qtde_campos %>
19 <td><b><%=rstemp(i).name %></b></td>
20 <% next %>
21 </tr>
22 <% ' Preenche a tabela com os registros do banco
23 do while not rstemp.eof %>
24 <tr>
25 <td valign="top"><a HREF="dbfullteste2.asp?str_ID=<%=rstemp("AU_ID")%>">Editar</a></td>
26 <% for i = 0 to qtde_campos%>
27 <td valign="top"><% = rstemp.fields(i).value %></td>
28 <% next %>
29 </tr>
30 <% rstemp.movenext
31 loop
32 conntemp.close%>
33 </table>
34 </body>
35 </html>
Exemplo 2 (2a. parte):
1 <html>
2 <head>
3 <title>dbfullteste2.asp</title>
4 </head>
5
6 <body bgcolor="#FFFFFF">
7
8 <%
9 ' Conecta com o banco e pega o valor do str_ID permitindo a edicao do registro
10 set conntemp=server.createobject("adodb.connection")
11 conntemp.open "Estudante","Estudante","magic"
12
13 ID=request.querystring("str_ID")
14 sqltemp="select * from autores where AU_ID=" & ID
15 set rstemp=conntemp.execute(sqltemp)
16 atual_ID=rstemp("AU_ID")
17 atual_nome=rstemp("autor")
18 atual_ano_nasc=rstemp("ano_nasc")
19 %>
20
21 <form name="meu_autor" action="dbfullteste3.asp" method="GET">
22 <p>ID: <input type="TEXT" name="id" value="<%=atual_id%>"></p>
23 <p> Nome do autor: <input type="TEXT" name="nome" value="<%=atual_nome%>"></p>
24 <p> Ano de Nascimento: <input type="TEXT" name="ano" value="<%=atual_ano_nasc%>"></p>
25 <p> <input type="SUBMIT"> </p>
26 </form>
27 </body>
Exemplo 3 (parte):
1 <html>
2 <head><title>dbfullteste3.asp</title></head>
3 <body bgcolor="#FFFFFF">
4 <%
5 on error resume next
6 au_nome=request.querystring("nome")
7 ' Corrige os apóstrofos
8 au_nome=Replace(au_nome, "'", "''")
9
10 au_ano=request.querystring("ano")
11 au_ID=request.querystring("ID")
12 Set Conn = Server.CreateObject("ADODB.Connection")
13 conn.open "Estudante","Estudante","magic"
14
15 SQLstmt = "UPDATE autores "
16 SQLStmt = SQLstmt & "SET autor='" & au_nome & "',"
17 SQLstmt = SQLstmt & "ano_nasc=" & au_ano
18 SQLStmt = SQLStmt & " WHERE AU_ID=" & au_ID
19 Set RS = Conn.Execute(SQLStmt)
20 If err.number>0 then
21 response.write "Ocorreram erros no script:" & "<P>"
22 response.write "Número=" & err.number & "<P>"
23 response.write "Descrição=" & err.description & "<P>"
24 response.write "Help Context=" & err.helpcontext & "<P>"
25 response.write "Help Path=" & err.helppath & "<P>"
26 response.write "Native Error=" & err.nativeerror & "<P>"
27 response.write "Source=" & err.source & "<P>"
28 response.write "SQLState=" & err.sqlstate & "<P>"
29 else
30 response.write "Nenhum problema aconteceu!" & "<P>"
31 end if
32 IF conn.errors.count> 0 then
33 response.write "Ocorreram erros com o banco de dados" & "<P>"
34 response.write SQLstmt & "<P>"
35 for counter= 0 to conn.errors.count
36 response.write "Número do erro:" & conn.errors(counter).number & "<P>"
37 response.write "Descrição --> " & conn.errors(counter).description & "<P>"
38 next
39 else
40 response.write "Parece que tudo está ok. O Autor foi atualizado!" & "<P>"
41 end if
42 Conn.Close
43 %>
44 </body>
45 </html>
Exemplo 4: Exemplo em ASP.Net de uma rotina de falha no ISS.
<location path="http://www.exemplo.com.br">
<system.webServer>
<tracing>
<traceFailedRequests>
<add path="*">
<traceAreas>
<add provider="WWW Server" areas="Security" verbosity="Verbose" />
</traceAreas>
<failureDefinitions statusCodes="404.2" />
</add>
</traceFailedRequests>
</tracing>
</system.webServer>
</location>
Bibliografia
- Rubens Prates, ASP Guia de Consulta Rápida, 2000, Editora Novatec, ISBN 85-85184-75-2
Referências
Ligações Externas
- Tutorial de ASP - Portal W3 Schools
- A documentação do ASP.NET está disponível no site docs.microsoft.com
- Documentação do ASP.NET e ASP.Net Core - Microsoft Docs
- Introdução ao ASP.Net Core - Microsoft Docs
- Getting Started with ASP.NET MVC 5 - Microsoft Docs
- Criar uma API Web com o ASP.NET Core e o Visual Studio - Microsoft Docs