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.
Pergunta
Marcos-rj
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 é :
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: 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 : 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 Observe que temos codigo HTML e codigo ASP delimitado pelas tags <% %>. A instrução usada para incluir o arquivo pagina2.asp é : Arquivo pagina2.asp 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: 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 : 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: 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: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
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.