Servlets com jpeg

Estou fazendo um sistema de validação atráves de imagens. E estou utilizando o seguinte código …

public class ValidaImagem extends HttpServlet 
{
    
       
    
        
                                                                
    
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException 
    {
             
          FileInputStream imageFile=null;
          BufferedImage image = new BufferedImage(30, 30, BufferedImage.TYPE_INT_RGB); 
          Graphics2D graphics2D = image.createGraphics();
          graphics2D.drawString("teste",0,0);
          graphics2D.dispose();
          response.setContentType("image/jpeg");
          OutputStream outputStream = response.getOutputStream();
          //imageFile=new FileInputStream(getServletConfig().getInitParameter(image));
          /*byte [] buffer = new byte[1024];
          int bytes=0;
          while((bytes=imageFile.read(buffer))!=-1)
          {
            outputStream.write(buffer,0,bytes);
          }
          */
          ImageIO.write(image, "jpeg", outputStream);
          outputStream.flush();
          outputStream.close();
       
       
    }
    public void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException 
    {
      doGet(request, response);
    }
}

só que na pagina não esta aparecendo a imagem e sim isto
$.’ ",#(7),01444’9=82<.342ÿÛ

este assunto também me interessa, se vc conseguir resolver o problema poste a solução aqui, ok?!

obrigado

utilize esse metodo:

public static void encodeJPG&#40;OutputStream out, byte &#91;&#93; image&#41; throws IOException&#123; int BUFFER = image.length; InputStream fs = new ByteArrayInputStream&#40;image&#41;; JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder&#40;fs&#41;; BufferedImage bImage = decoder.decodeAsBufferedImage&#40;&#41;; JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder&#40;out&#41;; encoder.encode&#40;bImage&#41;; fs.close&#40;&#41;; fs = null; encoder = null; bImage = null; &#125;

consegui criar um desses geradores…

faz o seguinte:

response.setContentType&#40;&quot;image/png&quot;&#41;; ... ByteArrayOutputStream baos = new ByteArrayOutputStream&#40;&#41;; ImageIO.write&#40;image, &quot;png&quot;, baos&#41;; baos.flush&#40;&#41;; byte&#91;&#93; imgdata = baos.toByteArray&#40;&#41;; OutputStream out = response.getOutputStream&#40;&#41;; out.write&#40;imgdata&#41;; out.flush&#40;&#41;; out.close&#40;&#41;;

Coloquei este código em um Servlets só que continuou , dando o memso conjunto de caracteres estranhos quando invoco na minha jsp.

como vc invoca ele no JSP?

experimenta chamar só o servlet pelo browser pra ver o q retorna!

Dou um include.
<jsp:include page="<%= Constant.SERVLET_VALIDA_IMAGEM %>"/>

chamando so o Servlet funciona beleza , mas tenho que chamar de dentro de uma jsp

vc quer mostrar uma imagem, não é?!

como se faz pra mostrar uma imagem em HTML?

só que neste caso, a fonte da tua imagem é um servlet…

.
.
.
.

<img src="/caminho_do_meu_servlet" alt=“codigo de validacao” />

agora rolou valeu …