Eu to usando um campo blob pra inserir imagens no banco. até ae tudo bem, a imagem é inserida numa boa.
Agora o problema é:
Quando quero mostrar essa imagen na jsp, eu utilizava response.setContentType(“image/jpeg”);
Porém, quando eu faço isso, todos os meus dados que nao sao imagens nao aparecem devido a esse comando.
Eu quero mostrar dados e a imagem juntos, todos vindos do banco.
O que eu faço?
o browser precisa fazer 2 conexões ao web server - uma para pegar a página html (que é texto), e a outra para pegar a figura. Você não pode mandar as duas coisas de uma vez só.
No seu caso, se a figura vem do banco de dados, você tem de ter um JSP que mostra a página html, e uma servlet ou JSP que manda a imagem e só a imagem. Acho que você está querendo mandar tudo de uma vez só, mas isso não pode ser feito.
A saída da página JSP tem de ser algo parecido com:
Eu to usando um campo blob pra inserir imagens no banco. até ae tudo bem, a imagem é inserida numa boa.
Agora o problema é:
Quando quero mostrar essa imagen na jsp, eu utilizava response.setContentType(“image/jpeg”);
Porém, quando eu faço isso, todos os meus dados que nao sao imagens nao aparecem devido a esse comando.
Eu quero mostrar dados e a imagem juntos, todos vindos do banco.
O que eu faço?
.
O HTML é HTML e não inclui a informação binário da imagem.
quando vc usa a informação binária da imagem está no arquivo nomedaimagem.gif e não no arquivo HTML
Vc tem duas opções
Interceptar as requisções de imagem usando um servlet ou um filtro com urlpattern igual Às extenções das imagens. O Servlet irá pesquisar o banco pela informação binária e lançar com o contentType correto.
VC cria um servlet especial que recebe como parametro alguma informação que permita pesquisar no banco pela imagem ( um id ou um nome sei lá) ai vc pesquisa usando essas informação da mesma foram que em 1). A diferneça é que o seu será assim
Onde “servletimagem.srv” é o nome mapeado para servlet criado