Boa tarde, preciso saber se é possivel fazer com que o tomcat “conheça” um diretório fora do webapp, isso é possível?
Vou tentar contextualizar. Tenho um link que ao ser clicado retorna um arquivo pdf para o cliente, pelos servlets padrões do tomcat, não acho necessário criar um servlet pra tratar essa requisição, um filtro ao meu ver resolve meu problema, mas não queria deixar esses arquivos no diretório padrão do tomcat, como faço para ele enxergar esse diretório?
obrigado
Não faz. O Tomcat não faz nada, ele apenas mantém os arquivos e as aplicações que nele são “deployadas”.
Agora, você pode referenciar um caminho absoluto para o arquivo, porém, isto está condicionado a uma série de fatores.
Por exemplo, suponha que você desenvolve em um ambiente windows, onde o arquivo fica em C:\temp\arq\file.pdf.
Se referenciar o mesmo em um link absoluto, tudo ótimo. Agora, se você colocar este projeto em um tomcat rodando linux, será que funciona?
“Ah, o ambiente é o mesmo”. De qualquer forma, o adequado é criar uma pasta dentro do projeto onde o arquivo possa ser armazenado. Isto torna a aplicação portável e mantém as boas práticas.
E independe do uso de servlets ou filters ou o que quer que você esteja pensando.
[quote=drsmachado]Não faz. O Tomcat não faz nada, ele apenas mantém os arquivos e as aplicações que nele são “deployadas”.
Agora, você pode referenciar um caminho absoluto para o arquivo, porém, isto está condicionado a uma série de fatores.
Por exemplo, suponha que você desenvolve em um ambiente windows, onde o arquivo fica em C:\temp\arq\file.pdf.
Se referenciar o mesmo em um link absoluto, tudo ótimo. Agora, se você colocar este projeto em um tomcat rodando linux, será que funciona?
“Ah, o ambiente é o mesmo”. De qualquer forma, o adequado é criar uma pasta dentro do projeto onde o arquivo possa ser armazenado. Isto torna a aplicação portável e mantém as boas práticas.
E independe do uso de servlets ou filters ou o que quer que você esteja pensando.[/quote]
Mas se eu criar essa pasta dentro da minha app, com o tempo isso pode atrapalhar o desempenho da mesma devido ao tamanho que essa pasta pode atingir, e isso restringe a criação dessa pasta
Por isso não se deve manter documentos, imagens ou quaisquer arquivos desta forma.
Ou você os mantém em banco de dados ou não os mantém.
[quote=drsmachado]Por isso não se deve manter documentos, imagens ou quaisquer arquivos desta forma.
Ou você os mantém em banco de dados ou não os mantém.[/quote]
Cara, desculpa minha ignorancia, mas então pra que serve a configuração de Context no tomcat?
Por que não lê diretamente da fonte?
Você, definitivamente, está confundindo os papéis de tudo o que está envolvido em desenvolvimento web.
Talvez seja possível fazer a configuração do jeito que você quer, o que eu estou dizendo é que não é o meio mais correto.