Ajuda Com CAmpo Blob

Olá Galera , estou com um problema

//
//import com.sun.image.codec.jpeg.JPEGImageDecoder;
//import com.sun.image.codec.jpeg.JPEGCodec;
import java.awt.*;
import java.awt.image.*;
import java.io.*;
import java.lang.Object.*;
//import com.sun.image.codec.jpeg.JPEGCodec;
//import java.awt.image.BufferedImage;
import java.io.IOException;
//import java.awt.image.BufferedImage;
import java.util.Iterator;
import java.util.List;
//import com.sun.image.codec.jpeg.*;
import javax.servlet.*;
//import com.sun.image.codec.jpeg.JPEGCodec;
//import com.sun.image.codec.jpeg.JPEGImageDecoder;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
//import java.util.ArrayList;
import java.util.List;
import org.apache.commons.fileupload.FileItem;
import java.sql.*;
import java.sql.SQLException;
import java.io.*;
import javax.swing.ImageIcon;
//import java.awt.image.BufferedImage;
import java.sql.Blob.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.apache.commons.fileupload.*;
import org.apache.commons.fileupload.servlet.*;
import org.apache.commons.fileupload.disk.*;
import java.util.List;
import java.util.Iterator;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

public class Upload_enviando extends HttpServlet {
    //Initialize global variables
    public boolean hasImage = false;
    public ImageIcon imagem = null;

    public void init() throws ServletException {
    }
    //Process the HTTP Post request
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }
//Process the HTTP Get request
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        boolean isMultiPart = FileUpload.isMultipartContent(request);
        if (isMultiPart) {
            FileItemFactory factory = new DiskFileItemFactory();
            ServletFileUpload upload = new ServletFileUpload(factory);
            String formulario = "";
            try {
                List items = upload.parseRequest(request);
                Iterator iter = items.iterator();
                while (iter.hasNext()) {
                    FileItem item = (FileItem) iter.next();
                    if (item.getFieldName().equals("tipoForm")) {
                        formulario = item.getString();
                    }
                    if (!item.isFormField()) {
                        if (item.getName().length() > 0) {
                            this.inserirImagem(item);
                        }
                    }
                }
            } catch (FileUploadException ex) {
                ex.printStackTrace();
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
    }

    private void inserirImagem(FileItem item) {
        try {
            Connection conexao = null;
            Class.forName("org.gjt.mm.mysql.Driver");
            conexao = DriverManager.getConnection("jdbc:mysql://mysql.banco..com.br/banco.", "banco.", "banco.");
            PreparedStatement declaracao = null;

            String sql = "INSERT INTO TabelaTeste (codigo, imagem) VALUES(?, ?)";
            declaracao = conexao.prepareStatement(sql);
            declaracao.setInt(1, 1); // codigo 1
            declaracao.setBinaryStream(2, item.getInputStream(), (int) item.getSize());

            declaracao.executeUpdate();

        } catch (SQLException ex) {
            ex.printStackTrace();
        } catch (Exception ex) {
            ex.printStackTrace();
        }

    }   /* A seguir, o   método recuperaImagem()     
    mostra como 
    fazer para  recuperar esta imagem que foi inserida no Banco de Dados.
    OBS: importar a classe com.mysql.jdbc.Blob*/


    public ImageIcon recuperaImagem() {
        ImageIcon imagem = null;

        try {
            Connection conexao = null;
            Class.forName("org.gjt.mm.mysql.Driver");
            conexao = DriverManager.getConnection("jdbc:mysql://mysql.banco.com.br/banco.", "banco.", "banco.");
            /**
            Estabeleça a conexao
             */
            Statement declaracao = null;
            ResultSet resultado = null;
            StringBuffer sql = new StringBuffer();
            sql.append("SELECT imagem FROM TabelaTeste WHERE codigo = 2 ");
            declaracao = conexao.createStatement();
            resultado = declaracao.executeQuery(sql.toString());
            if (resultado.next()) {
                Blob blob = (Blob) resultado.getBlob("imagem");
                if (blob != null) {
                    imagem = new ImageIcon(blob.getBytes(1, (int) blob.length()));
                }
            }
        } catch (SQLException ex) {
            ex.printStackTrace();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        return imagem;
    }
}

Estou com problemas com a Classe com.sun.image.codec.jpeg.*; (Onde baixo essa classe ou como acho ela)

E não estou conseguindo usar o metodo recuperaImagem() e mostrar a imagem no meu JSP

Se alguém puder me ajudar… essa Dúvida pode ser a de muitos

Alguém por favor