Tenho várias imagens em uma pasta do servidor ex: /opt/data
e preciso mostra-las na jsp, já dei uma boa googlada aqui e não consegui ver uma maneira elegante de fazer isso.
A maioria dos exemplos que encontro na internet mostra o “resultStream”, mas pelo que vi com esse resultStream soh consigo renderizar uma única imagem (como se fosse um download, clicou abre a imagem)
Assim, a url http:////geral-img-sair.jpg.action faria o arquivo sair.jpg da pasta “pasta_das_imagens” ser enviado ao browser.
Espero ter ajudado.
hodrigohamalho
O problema é que as imagens são geradas dinâmicamente, logo toda vez que “criasse” uma nova imagem o tomcat fica tentando redeployar a aplicação, o que acaba acarretando uma perca de performance muito grande…
por isso preciso pegar a imagem de uma pasta externa a webapps.
jyoshiriro
Tem certeza que o Tomcat fará hot deploy? Não são só conteúdos nas pastas internas a WEB-INF que forçam isso?
hodrigohamalho
hum…
verdade velho, deixei passar esse detalhe, aqui estava acontecendo o hotdeploy mas não por causa disso dai acabei me confundindo.
vlw
jyoshiriro
Pois é… O ideal era essas imagens estarem na sua pasta de aplicação. Para que elas sejam copiadas para dentro de sua aplicação pode fazer via cron do linux ou criar uma thread no seu listener de aplicação web.
hodrigohamalho
É, mas acabou que vou ter que pegar de uma pasta externa mesmo,
tem alguma sugestão pra mostrar isso na jsp?
jyoshiriro
Se for só pra mostrar a imagem direto é como no exemplo que te passei (ou por anotação).
Se quiser mostrar a imagem dentro de um JSPque também tem outras coisas é só usar o mesmo mapeamento numa tag
hodrigohamalho
Hum, mas esse mapeamento no struts.xml pega caminho externo?
Não… não pega caminho externo porque nenhum framework WEB é projetado pra isso. Acessar recursos fora da pasta do contexto WEB não é recomendado, entendeu?
Por isso que te digo que ou você copia essa imagens manualmente para uma pasta dentro de sua aplicação ou cria/configura algo que fique copiando essa imagens de tempos em tempos.
hodrigohamalho
Hum acho que o cenário que eu to enfrentando é bem parecido com quem salva as imagens no banco.
Porque ambos conseguem chegar em um inputStream, mas pra mostrar na tela só escrevendo direto no response?