Ir para conteúdo
Fórum Script Brasil
  • 0

Asp - Usando Server-side Includes


Marcos-rj

Pergunta

Vamos falar sobre Server-Side Includes ou Inclusão do lado do servidor ou melhor : arquivos de inclusão. O que são os arquivos de inclusão ?

Os arquivos de inclusão são arquivos de scripts ASP que são incluídos em páginas de um site com o objetivo de facilitar a manutenção , modularizar o código e facilitar a compreensão do mesmo.

Para você entender melhor , suponha que você esta desenvolvendo o seu site e que o mesmo já conta com umas 100 páginas . Existem elementos comuns a várias páginas como : barra de navegação , logotipos , endereço de e-mail , banners , etc.... Agora imagine que o seu site utilize um script para realizar um cálculo com um taxa fixa e que pode variar com o decorrer do tempo.

E se você precisar alterar alguns desses elementos ? Vai ter que fazer essas alterações em todas as páginas onde eles estiverem contidos... Imagine o trabalho que vai dar !!!

No entanto se você usar os arquivos de inclusão vai ter que alterar apenas o arquivo original e pronto !!!! As alterações são automaticamente incorporadas em todas as páginas durante a inclusão do arquivo. Isto vale para bibliotecas de código , funções , etc...

Convencido. Pois bem como fazer a inclusão destes arquivos ?

Existem duas maneiras de você fazer a inclusão de um arquivo em sua página:

1- A instrução geral e recomendada é :

<!--#include virtual="nome_do_arquivo"-->
isto é chamada de inclusão virtual e você deve informar o nome do arquivo e sua localização absoluta relativa a raiz do site da Web do arquivo atual. A instrução para incluir o arquivo config.asp que esta no diretório arquivos é a seguinte:
<!--#include virtual="/arquivos/config.asp"-->
Os arquivos que podem ser incluidos não se restringem a arquivos com extensão .asp . Você pode incluir arquivos textos com qualquer extensão. Mas lembre-se que os arquivos com extensão .asp possuem uma proteção: quando alguém tenta visualizar o conteúdo de um arquivo com extensão .asp irá ver somente o resultado do processamento do arquivo. 2- Voce pode usar também a seguinte instrução :
<!--#include file="nome_do_arquivo"-->
aqui a palavra chave file inclui arquivos relativos ao diretório onde reside o arquivo que esta sendo incluído. Você não tem que fornecer o caminho especificado para a raiz do servidor ; pode usar um caminho relativo. Os arquivos de inclusão podem conter código HTML e/ou código ASP mas são processados antes de qualquer código ASP. Vejamos a seguir um exemplo : Para os exemplos funcionarem em sua máquina você tem que ter o Personal Web Server ou IIS instalado. Eu vou criar um diretório teste subordinado ao diretório raiz do meu servidor. Assim se você instalou o PWS/IIS no diretório padrão , o local físico da pasta será : C:\Inetpub\wwwroot\teste Vamos criar dois arquivos de scripts asp : pagina1.asp e pagina2.asp e salvá-los no diretório teste . O arquivo pagina2.asp será incluido no arquivo pagina1.asp quando este for chamado no seu servidor. Arquivo pagina1.asp
<html>
<head>
<title>Pagina1.asp</title>
</head>
<%
response.write "Pagina1.asp </p>"
response.write "Exemplo de inclusão de arquivos <p>"
response.write " Atenção vou incluir o arquivo pagina2.asp </p>"
%>
<!--#include file="pagina2.asp"-->
</body>
</html>
 
Observe que temos codigo HTML e codigo ASP delimitado pelas tags <% %>. A instrução usada para incluir o arquivo pagina2.asp é :
<!--#include file="pagina2.asp"-->
Arquivo pagina2.asp
<%
Response.Write "<font color='#0000FF'"
response.write "----------------------------------------</br>"
response.write "Olá , eu sou o arquivo pagina2.asp <br>"
response.write "----------------------------------------</br>"
%>
O arquivo pagina2.asp contém somente script ASP (o código HTML usado esta inserido na instrução Response.write). vou avisar que você não pode fazer uma inclusão cíclica . Se no exemplo anterior a pagina2.asp ao ser chamada fizesse uma chamada a página1.asp , ou seja , a pagina1.asp inclui a pagina2.asp que inclui a página1.asp , ocorreria o um erro. Quer tentar ? então altere o código de pagina2.asp para:
<%
Response.Write "<font color='#0000FF'"
response.write "Pagina2.asp</p>"
response.write "----------------------------------------</br>"
response.write "Olá , eu sou o arquivo pagina2.asp <br>"
response.write "----------------------------------------</br>"
%>
<!--#include file="pagina1.asp"-->
Inclusões Dinâmicas Como os arquivos de inclusão são executados antes de qualquer código asp não podemos usar inclusões dinâmicas. Se você tentar rodar o script asp abaixo :
<%
Dim UrlPagina
UrlPagina = "/teste/teste.asp"
%>
<!--#include virtual="<%=UrlPagina%>"-->
Não vai funcionar , pois como os arquivos de inclusão são processados antes de qualquer código da página , a variavel UrlPagina não será encontrada . Podemos contornar este problema da seguinte forma : 1-) usar instruções Select/Case como no exemplo a seguir:
<%Select Case UrlPagina
   Case "Pagina1.asp" %>
      <!--#include virtual="/pagina1.asp"-->
<% Case "Pagina2.asp" %>
      <!--#include virtual="/pagina2.asp"-->
<% Case "Pagina3.asp" %>
      <!--#include virtual="/pagina3.asp"-->
<% Case "Pagina4.asp" %>
      <!--#include virtual="/pagina4.asp"-->
<%End Select%>
2-) usar o objeto FileSystemObject para ler o conteúdo de um arquivo e inserí-lo na página ASP. Abaixo um exemplo , onde o arquivo teste.htm é lido e incluído na página asp:
<% Option Explcit %>
<%
Dim StrArquivo , objFSO , objArquivo

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

'define o caminho e nome do arquivo 
strArquivo = "C:\Inetpub\wwwroot\teste\teste.htm"

'lê o arquivo teste.htm
set objArquivo = objFSO.OpenTextFile(strArquivo)

'inclui o conteúdo do arquivo
Response.Write objArquivo.ReadALL

'fecha o objeto e libera memória
objArquivo.close
set objArquivo = Nothing
set ObjFSO = Nothing %>

Obs: note que você deve fornecer o caminho físico de localização do arquivo.

Ao usar o código acima você deve ficar atento ao seguinte detalhe : O arquivo que você vai ler usando o objeto FileSystemObject somente vai poder ser aberto e lido quando o script ASP já estiver sendo executado, logo , se houver no seu arquivo algum código ASP ele não será executado , apenas será incluído na forma como estiver como um arquivo HTML. Por isso este método deve ser usado para incluir apenas arquivos textos e HTML sem código ASP.

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...