Retornando varias imagens do banco

6 respostas
G

Bom antes de mais nada, eu usei a ferramente de busca e so encontrei respostas referentes ao retorno d uma imagem, como mostra o codigo abaixo...

response.setContentType("image/jpeg");
            
            stm = con.createStatement();
            
            rs = stm.executeQuery("select * from imagem where cddoc = "+cd.get(4));
            InputStream input = null;
            while(rs.next()){
                input = rs.getBinaryStream("img");
            }
            OutputStream out = response.getOutputStream();
            int b;
            while((b = input.read())!= -1){
                out.write(b);
            }
           
            input.close();
            out.flush();
            out.close();

o problema é q, eu preciso mostrar varias imagens vindas do banco na mesma pagina....

eu tenho q exibir as 10 ultimas imagens inseridas no banco, na pagina inicial do sistema, a minha duvida é a seguinte, como eu poderia adaptar esse codigo, ou criar outro, para q eu possa exibir mais d uma imagem ?

6 Respostas

T

Normalmente você divide o problema em dois pedaços:

a) A página que mostra as imagens
Ela só deve criar os ", pôr as decorações, legendas etc. para mostrar as imagens.

b) Uma servlet, jsp ou alguma coisa, que lhe retorna uma das imagens.

Não dá para fazer tudo em uma página só.

G

pois é, essa é a forma q eu to fznd, tenho o servlet q pega a imagem do banco e joga pelo response pra aplicação, ai numa jsp aparte eu visualizo a imagem

<img src='Index?cddoc=" + ${cd} + "'>

n tem como eu mostrar mais d uma imagem na mesma pagina naum?

T

É claro que dá, é só pôr vários tags nessa página que tem de mostrar várias imagens. Cada um dos tags referencia o mesmo servlet, mas com parâmetros diferentes.

fabim

tem sim

// Estou abrindo um scriplet no seu jsp
<% 

// aqui vc pode obter um array de int com os id's das ultimas 10 imagens, um List, sei la qqer coisa
// ex: int[] ids = seuMetodoQueRetornaOs10UltimosIds;

for ( int id : ids )
   out.print("<img src='Index?cddoc=" + id + "'>");

%>
fabim

Note que no meu exemplo estou assumindo que vc nao usa framework nenhum.
E, e claro que vc nao vai ser louco de fazer isso.

G

hmm

não tinha pensado no scriplet,

vlw :smiley:

Criado 30 de janeiro de 2008
Ultima resposta 30 de jan. de 2008
Respostas 6
Participantes 3