Salve ragazzi,
vi scrivo perché ho un problema e non riesco proprio a trovare una soluzione, mi spiego meglio.
Sto creando un sito web usando Jsf/jsp collegate ad un db Mysql in cui sono memorizzate varie informazioni in una tabella, tra cui delle immagini sotto forma di dato MEDIUMBLOB.
Ora, il mio problema è questo: da una pagina jsp mi connetto al db, effetto una query e tramite ciclo while sul ResultSet, prelevo tutte le immagini presenti nel db e le dovrei visualizzare in un'altra pagina jsp tramite il tag
codice:
<img src=<%= "percorsoFile.jsp" %> />
Il problema però sta nel fatto che visualizzo solo la PRIMA immagine e le altre non vengono visualizzate.
Quale potrebbe essere l'errore?
Ho provato a fare una controprova (lo si può notare dal codice commentato nella porzione di codice postata; se effettuo la stessa query su un campo INT, la query va a buon fine, nel senso che visualizzo tutto l'elenco di campi int senza problemi.
Quale potrebbe essere una soluzione? Idee?
Questo è il codice del file che effettua la query su DB e dovrebbe prelevare le immagini:
codice:
<!-- per l'esecuzione corretta delle istruzioni SQL è necessario
importare il relativo package: java.sql.*
-->
<%@ page language="java" import="java.sql.*" %>
<%
Connection c = null;
// carica il file di classe del driver
// per il collegamento al database con il ponte Odbc
Class.forName("com.mysql.jdbc.Driver");
// apre la connessione con il database "miodb"
c = DriverManager.getConnection("jdbc:mysql://localhost:3306/nomeDB", "root", "pwd");
// manda in esecuzione l'istruzione SQL
Statement statement = c.createStatement();
ResultSet rs = statement.executeQuery("SELECT * FROM articoli WHERE designer = 'ASPESI' ORDER BY id DESC;");
// elabora i risultati ;
while (rs.next())
{
// ottiene il dato
//int dat = rs.getInt("id");
byte[] dat = rs.getBytes("fotoBytes1");
// stampa a video
//out.println(dat);
response.getOutputStream().write(dat);
}
//chiude la connessione
c.close();
%>
Questo invece è il file in cui dovrei visualizzare l'elenco di immagini prelevate dal file jsp precedente:
codice:
<%@ page contentType="text/html;charset=ISO-8859-1" language="java" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<table>
<tr>
<td>
<img src=<%="percorsoFile.jsp" %> />
</td>
</tr>
</table>
</body>
</html>
Vi prego aiutatemi, sono fermo qui e non riesco ad andare avanti!
Vi ringrazio anticipatamente!