Exibir BLOB (imagem) via JSP

Pessoal, tenho um código para gerar Organograma de funcionários.

As informações (nome, cargo, telefone, foto etc) são carregadas de um bd (SQL Server) e exibidas via JSP.
Exibir os dados já está ok, exceto a imagem .jpg (armazenada no SQL SERVER/campo IMAGE–>BLOB).

Aliás, eu até já consegui exibir a imagem (vide código abaixo), mas não estou conseguindo ‘emoldurá-la’ no campo definido pelo .css.
Ou seja, a imagem é obtida no resultSet, mas apenas ela é carregada (na página inteira).

Alguém sabe como ‘emoldurar’ a foto ?

[code]<%
Connection con = FactoryConnection_SQL_SERVER.getConnection(“Organograma”);
Statement stSuper = con.createStatement();
Statement stSetor = con.createStatement();

Blob image = null;
byte[] imgData = null;

ResultSet rsSuper = stSuper.executeQuery(“Select * From funChart where setor = ‘mySetor’”);

if (rsSuper.next()) {
image = rsSuper.getBlob(12);
imgData = image.getBytes(1, (int) image.length());
response.setContentType(“image/gif”);
OutputStream o = response.getOutputStream();
//o.write(imgData); // mesmo carregando por aqui, obtemos a imagem na página inteira.
//o.flush();
//o.close();

–[…]

" src="<%= o.wite(imageData); o.flush(); o.close(); %>" />

<%=rsSuper.getString("Nome")%>

<%=rsSuper.getString("Cargo")%>

Matrícula:
<%=rsSuper.getString("Chave")%>

Telefone:
<%=rsSuper.getString("Fone")%>

E-Mail:
<%=rsSuper.getString("Email")%>

[/code]

Esse é o trecho .css para emoldurar a imagem:

#foto { padding: 0px; vertical-align: middle; text-align: center; width: 170px; height: 220px; }

Acesso ao banco em uma JSP?
Um belíssimo exemplo de um código ruim.

Você não define um tamanho para a imagem, por isso ela está ocupando todo espaço disponível.

[quote=drsmachado]Acesso ao banco em uma JSP?
Um belíssimo exemplo de um código ruim.

Você não define um tamanho para a imagem, por isso ela está ocupando todo espaço disponível.[/quote]

drsmachado,

eu também achei esse código horrível ! Se eu fosse fosse desenvolver do zero, faria MVC bonitinho, classes baseadas em framework Collections (LinkedList e TreeMap) e JPA. Mas acredite-me, aqui no meu trabalho não dá, por falta de tempo e ferramentas. Tenho que usar: Notepad++, Tomcat e SQL Server.

Porém, me paasaram esse código e disseram: ‘quero pronto até tal data’. Estimei no meu ‘scrum pessoal’ e concluí que nesse prazo que me deram não dá pra fazer um novo como eu gostaria. Inclusive por isso estou recorrendo a este Forum, para tentar ganhar tempo em resolver o problema.

Agora, deixando essa questão ‘estética’ de lado, a respeito do seu comentário que eu não esteja definindo um tamanho para imagem, acredito que seja esse o problema, sabe por que ?

No src da tag img, se eu definir um path para o arquivo (deixando de carregar do bd), a imagem é carregada como deveria, independente do tamanho dela. Já fiz esse teste e funciona (o único requerimento é que as imagens deverão ter o mesmo tamanho (width x height) para não ficarem distorcidas na moldura definida no .css).

Mas dá muito trabalho ficar gerenciando os arquivos de fotos, visto que a rotatividade de funcis é elevada.

Ou seja, ao invés de receber a imagem de um novo funci por email, renomear o arquivo com a ID dele e copiar para a pasta do setor dele, fiz uma interface onde, após autenticar o user, o mesmo grava sua foto direto no bd, assim como seu telefone e email.

Você sabe me explicar por que você acha que o problema esteja apenas no redimensionamento ? Se possível, me dê um exemplo.

Obrigado pela atenção !

A quem interessar, veja a solução aqui:

http://stackoverflow.com/questions/11192020/display-blob-image-through-jsp

[quote=drsmachado]Acesso ao banco em uma JSP?
Um belíssimo exemplo de um código ruim.

Você não define um tamanho para a imagem, por isso ela está ocupando todo espaço disponível.[/quote]

Como eu suspeitava, não era problema de definição de tamanho de imagem.
Se interessar, veja a solução aqui:
http://stackoverflow.com/questions/11192020/display-blob-image-through-jsp
Mesmo assim, obrigado pela atenção.