Mehrere Bilder aus MySQL DB via Servlet darstellen.

FanClub

Mitglied
Hallo,

ich lese via Servlet - Tomcat - MySQL Daten aus einer Datenbank aus.
Darunter sind auch pro Datensatz ein Bild als LongBlob hinterlegt.

Ich versuche nun alle Datensätze inklusive Bild via Servlet auszugeben. Aber das funktioniert nicht.

Java:
while (rs.next()) {

         String id = rs.getString("id");
         String titel = rs.getString("titel");
        
         java.sql.Timestamp timestamp = rs.getTimestamp("erstelltam");
         SimpleDateFormat sp = new SimpleDateFormat("MM/dd/yyyy' 'HH:mm");
         Date erstellt = new Date(timestamp.getTime());

         sb.append("<td align='center'><a href='/AbschlussArbeit/ArtikelServlet?id=" + id
             + "'><img src='" + "RetriveImage?" + id + "'  width='204' height='190'></a><br> Erstellt am:"
             + sp.format(erstellt) + "<br><font-size=12>" + titel + "</font></td>");
}

Java:
public class RetriveImage extends HttpServlet {

   Connection con;
   CallableStatement stat;

   /**
    * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
    * methods.
    *
    * @param request
    *  servlet request
    * @param response
    *  servlet response
    * @throws ServletException
    *  if a servlet-specific error occurs
    * @throws IOException
    *  if an I/O error occurs
    */
   protected void processRequest(HttpServletRequest request, HttpServletResponse response)
       throws ServletException, IOException {
     // response.setContentType("text/html;charset=UTF-8");
     response.setContentType("image/jpeg");
     // PrintWriter out = response.getWriter();
     Blob ePhoto = null;
     byte[] rawBytes = null;
     ServletOutputStream out = response.getOutputStream();
     Connection conn = null;
     Statement st = null;
     ResultSet rs = null;
     StringBuffer selectStatement = new StringBuffer();
     try {
       /*
        * TODO output your page here. You may use following sample code.
        */
       // byte[] rawBytes = null;
       String id = request.getQueryString();
       InitialContext ctx = new InitialContext();
       DataSource ds = (DataSource) ctx.lookup("java:/comp/env/jdbc/TestDB");

       // This works too
       // Context envCtx = (Context) ctx.lookup("java:comp/env");
       // DataSource ds = (DataSource) envCtx.lookup("jdbc/TestDB");

       conn = ds.getConnection();

       st = conn.createStatement();

       selectStatement.append("SELECT * FROM artikel WHERE id="+id);
       rs = st.executeQuery(selectStatement.toString());
       rs.next();
       rawBytes = rs.getBytes(1);
       out.write(rawBytes);
       out.flush();
       stat.close();
     } catch (Exception ex) {
       out.println(ex.getMessage());
     } finally {
       try {
         con.close();
         out.close();
       } catch (Exception ex) {
       }
     }
   }
}

Es wird nicht mal das Servlet angesprochen. RetriveImage.

Oder gibt es eine andere Möglichkeit aus einer Datenbank Text und Bild anzuzeigen. Mehrere.

gruß
 

FanClub

Mitglied
Hallo,

ich habe es gelöst.

In einem Servlet lese ich alle Daten aus der Datenbank aus, bis auf die Bilder.
Diese Daten schreibe ich als Liste in den Request.
Java:
request.setAttribute("liste", liste);
request.getRequestDispatcher("/thankyou.jsp").forward(request, response);

Mit Hilfe des Servlet erzeuge ich keinen HTML Code mehr. Das übernimmt alles eine JSP.
Auf dieser thankyou.jsp lese ich die Liste aus.
Danach ermittle ich mit Hilfe der ID eines jeden Datensatzes das dazugehörige Bild.
Dafür gibt es ein Servlet.
Java:
<img src="/BilderAbholServlet?id=<%=datensatz.getId()%>"

Ist zwar ne menge Traffic aber geht.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Mehrere Bilder gleichzeitig bzw. dynamisch eines Objektes speichern Allgemeines EE 2
N JAAS login() mehrere Parameter an LoginModul übergeben Allgemeines EE 2
T Mehrere gleiche Jars im Classpath Allgemeines EE 7
A JMS: Mehrere Durable Subscriber dynamisch zur Laufzeit erzeugen - setClientID() Allgemeines EE 2
MQue ein Rechner - mehrere BrowserFenster Allgemeines EE 3
K mehrere Datenbanken mit JBoss 4.2 und EJB3 Allgemeines EE 3
A Mehrere User gleichzeigig, wie mach ich das? Allgemeines EE 14
A Annotation "ID: Primary Key über mehrere Spalten möglic Allgemeines EE 3
M Mehrere Webanwendungen über einen Webserver? Allgemeines EE 2
B JSF - Mehrere Message-Bundles verwenden Allgemeines EE 17
E bei struts inhalte über mehrere seite verteilen Allgemeines EE 6
S mehrere Message Resources in Struts ansprechen Allgemeines EE 7
G Mehrere Probleme mit Servlets/Java Allgemeines EE 15
clemson HTML Taglib - mehrere Submit-Buttons & Internationalisie Allgemeines EE 4
M MVC in J2EE: mehrere JSPs über ein Servlet kontrollieren Allgemeines EE 7
clemson mehrere Mail Attachments - JSP Struts Allgemeines EE 7
T Jsp die mehrere Servlets aufruft erzeugt Fehler Allgemeines EE 10
W Mehrere Applikationenen mit einer Anmeldung möglich? Allgemeines EE 11
B mehrere submit-buttons in einer jsp Allgemeines EE 11
D Wohin mit Resourcen (Bilder, txt Dateien) im Application Client Allgemeines EE 3
C GWT: Zur Laufzeit Bilder hinzufügen Allgemeines EE 4
M JSF Bilder werden wegen jsessionid nicht gefunden (nur IE) Allgemeines EE 6
J Gif Bilder in Easy Eclispe? Allgemeines EE 4
P JSP Servlets/ Java Klassen für FTP FileUpload (Bilder) + DB Allgemeines EE 3
S JSF: Bei Navigation Bilder / Styles nicht mehr verfügbar Allgemeines EE 1
R Bilder in HTML Tabelle ermitteln Allgemeines EE 2
M Servlet (Bilder aus Datenbank liefern) läuft nur einige Zeit Allgemeines EE 12
O Tomcat bilder schützen Allgemeines EE 4
G Servlets und Bilder Allgemeines EE 13
M Bilder im JBoss ausserhalb von .war Allgemeines EE 2
2 Wildfly JPA Konfiguration für mysql Allgemeines EE 0
R Java EE 6, eclipse, maven, jsf, hibernate, mysql Allgemeines EE 8
T J2EE, MySQL, Linux, Applikationsverfügbarkeit mangelhaft, Analyse Allgemeines EE 2
T Einloggen auf Seite + MYSQL, JSP Allgemeines EE 6
H Tomcat, MySQL Allgemeines EE 4
remus JBoss Authentifizierung mit MYSQL-Datenbank Allgemeines EE 4
G JSF | Hibernate | MySQL Allgemeines EE 17
M JSP, MySQL und JBoss "No suitable Driver" Allgemeines EE 3
V MYSQL JDBC;java.lang.ClassNotFoundException; Problem Eclipse Allgemeines EE 3
G JBoss + MySQL Allgemeines EE 8
I Sun App Server JDBC MySQL Allgemeines EE 2
F MySQL Connection Pool nach Apache Example Allgemeines EE 1
M Tomcat, Hibernate, MySQL und die EOFException Allgemeines EE 7
K mysql treiber problem wenn import java.sql.* bei _servlet_ Allgemeines EE 2
S JDBC Mysql Connection Problem - datasource null Allgemeines EE 3
E JSF, Hibernate & MySQL: Keine Datenbankaktualisierung Allgemeines EE 5
C CMS mit JSP und MySQL, irgendwann ein Nullpointer Allgemeines EE 5
A Hibernate-Problem mit MySQL-Cluster Allgemeines EE 6
S Java Enum in MySQL und Hibernate Allgemeines EE 3
P struts Hibernate MySQL Select Statement Allgemeines EE 24
P keine verbindung vom struts framework zu mysql Allgemeines EE 2
G MySQL Connector / MXJ Allgemeines EE 2
B Struts - Connection Pool - MySQL - JDeveloper Allgemeines EE 2
G "Access denied" bei Verbindung zu MySQL mittles JS Allgemeines EE 3
D Problem jsp- mysql Allgemeines EE 2
A JSP und MySQL Problem Allgemeines EE 4

Ähnliche Java Themen

Neue Themen


Oben