Показывать изображения в карусели

Я работаю с ADF и мне нужно отображать изображения в карусели. Написали следующий код в сервлете, но при загрузке страницы ему присваивается значение "weblogic.jdbc.wrapper.Blob_oracle_sql_BLOB@xxx" (xxx - некоторое буквенно-цифровое значение) для объекта blob, если в базе данных для этой конкретной записи существует изображение неправдоподобным

Ссылка указана - http://www.baigzeeshan.com/2010/10/display-images-in-carousel-item-in.html

public void doGet(HttpServletRequest request,
                  HttpServletResponse response) throws ServletException,
                                                       IOException {
    response.setContentType(CONTENT_TYPE);
    String imageId = request.getParameter("id");
    OutputStream os = response.getOutputStream();
    Connection conn = null;
    try {
        Context ctx = new InitialContext();
        //Datasource as defined in <res-ref-name> element of weblogic.xml
        DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/HrXEDS");
        conn = ds.getConnection();
        PreparedStatement statement =
            conn.prepareStatement("SELECT image_id, image_blob " +
                                  "FROM hr_image_table " +
                                  "WHERE image_id = ?");
        statement.setInt(1, new Integer(imageId));
        ResultSet rs = statement.executeQuery();
        if (rs.next()) {
            Blob blob = rs.getBlob("IMAGE_BLOB");
            System.out.println("-- blob --" + blob);
            BufferedInputStream in =
                new BufferedInputStream(blob.getBinaryStream());
            int b;
            byte[] buffer = new byte[10240];
            while ((b = in.read(buffer, 0, 10240)) != -1) {
                os.write(buffer, 0, b);
            }
            os.close();
        }
    } catch (Exception e) {
        System.out.println(e);
    } finally {
        try {
            if (conn != null) {
                conn.close();
            }
        } catch (SQLException sqle) {
            System.out.println("SQLException error");
        }
    }
}

1 ответ

У вас могут возникнуть проблемы, если вы используете источник данных и конфигурация в Weblogic Server объединяет типы данных.

Откройте консоль администрирования Weblogic Server (сервер: порт / консоль) в браузере.

Перейдите в раздел Сервисы -> Источники данных -> YourDataSource -> Опрос подключения -> Дополнительно.

Снимите флажок Свойство Wrap Data Types.

Надеюсь, поможет...

Другие вопросы по тегам