Problema con ruta de imagen

Buenas a todos,tengo la siguiente interrogante, este es mi metodo que recibe un objeto producto y una imagen este metodo funciona perfectamente bien guarda la informacion y la imagen en un campo de tipo BLOB en mi base de datos mySQL,EL PROBLEMA que tengo es que solo sive cuando concateno toda la ruta de donde tengo la imagen, si quito esa ruta me dice que no encuentra la imagen,que puedo hacer? ya busque por medio mundo y nada

lom que quiero es no tener que poner toda la ruta,ya que obviamente esto hara a mi metodo sumamente inestable,se que mi duda es sumamente basica,pero la verdad ya le hice cabeza bastante rato y nada

    public int preparedStamentRegistrarProducto(Producto productoP, String imagen) {

        PreparedStatement pre = null;
        try {

            File imgfile = new File("C:\\Documents and Settings\\Victor\\Escritorio\\"+imagen); //HE AQUI MI PROBLEMA
            FileInputStream fin = new FileInputStream(imgfile);
            pre = conexionMaestra.prepareStatement("INSERT INTO producto VALUES(null,?,?,?,?,?,?,?)");
            pre.setInt(1, productoP.getMarcaPerfume());
            pre.setString(2, productoP.getNombrePerfume());
            pre.setDouble(3, productoP.getPrecioCompra());
            pre.setDouble(4, productoP.getPrecioVenta());
            pre.setDouble(5, productoP.getDescuento());
            pre.setInt(6, productoP.getCantidad());
            pre.setBlob(7, fin);

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

        return util_DAO.intruccionSQLPreparedStatement(pre);
    }

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de n00b

Si tu problema es que estas

Si tu problema es que estas escribiendo el nombre la la imagen manualmente podrias usar JFileChooser.

algo como

       JFileChooser chooser = new JFileChooser();
       
        chooser.setCurrentDirectory(new java.io.File("."));
       
        //Elegiremos archivos del directorio

chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);

chooser.setAcceptAllFileFilterUsed(true);

//Si seleccionamos algún archivo retornaremos su directorio

if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {

String rutaImagen = chooser.getSelectedFile().getAbsolutePath().toString();  // esta seria la ruta de tu imagen

//Si no seleccionamos nada retornaremos No seleccion

} else {

JOptionPane.showMessageDialog(rootPane, "seleccione un archivo");

}

No es la mejor explicacion, pero espero q te sirva.

Imagen de The man

Es JSP

Discupa mi error no especifique que era JSP osea WEB,de todos modos se aprecia tu codigo para aplicaciones de Escritorio,pero la verdad es que mi aplicacion es en JSP y llevo rato tratando de arreglarlo y nada

De nuevo muchas gracias y disculpa el fallo