Bilder aus Datenbank anzeigen

ottens

Mitglied
guten Tag Liebe Leute,

ich habe ein Problem seit paar Tagen finde keine Lösung.
Der User sucht nach bestimmten Eigenschaften als Ergebnis der Suche bekommt man ein int [] Array zurück
die Komponenten vom Array sind die Id's der Bilder ich möchte gerne die Bilder nach id's suchen und anzeigen als Tabelle und zwar so

Column Bild Column_Eigenschaft_1 Column_Eigenschaft_2 u.s.w

Bild_1 Eigenschaft_11 Eigenschaft_12

Bild_2 Eigenschaft_21 Eigenschaft_22

kann mir jemand helfen ?

ich benutze JSP (habe ein Servlet geschrieben aber leider kann nur ein Bild zeigen dazu kommt noch wie kann
man Servlet von der Position, wo das Bild in der Tabelle angezeigt wird, von JSP aufrurfen ?

als Tabelle wäre auch <Datatable> Tag von JSF möglich obwohl kenne mich etwas von Entwicklung von Web Application.

danke euch im voraus

Ottens :)
 
Zuletzt bearbeitet:
hier ist mein Servlet

Code:
package servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.servlet.http.HttpSession;
/**
 * Servlet implementation class ImageLoader
 */
public class ImageLoader extends HttpServlet {
	private static final long serialVersionUID = 1L;
	static int var = 1;
	
	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		doPost(request, response);
	}

	protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
		HttpSession session = request.getSession();
		String newVal = (String)session.getAttribute("val");
		Integer Bild_Id = new Integer(newVal);
		int val = Integer.valueOf(Bild_Id);
		ResultSet rs = null;
		Statement stmt = null;
		Connection con = null;
		int id_= 0;
		try {
			Class.forName("com.mysql.jdbc.Driver").newInstance();
			con = DriverManager.getConnection("jdbc:mysql://localhost:3306/part", "root", "root");
			stmt = con.createStatement();
			// SQL statement to query the database
			rs = stmt.executeQuery("SELECT * FROM blobtest where id = "+val);
			System.out.println("DB ABFRAGE ist jetzt bei Row  "+ val);
			if(rs.next())
			id_ = rs.getInt("id");
			Integer ii = new Integer(id_);
			String imgId = ii.toString();
			byte[] imageData = rs.getBytes("img");
			response.setContentType("image/jpeg");
			response.setHeader("Content-disposition","inline; filename = imageId" + imgId +".jpg");
			response.setHeader("pragma", "cache");
			response.getOutputStream().write(imageData);
		} catch (Exception e) {
			System.out.println(" eine Exception ");
			e.printStackTrace();
			e.getMessage();
		} finally {
			try {
				System.out.println("i = "+val);
				con.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}

}


und die JSP-Seite

Code:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form method="GET" action="ImageLoader">
    Site View 
    <br><br>
    <center>
      
     <% 
     HttpSession session_ = request.getSession();
     for(int i = 1; i< 29; i++){
    	Integer ii = new Integer(i);
        String imgId = ii.toString();
        session_.setAttribute("val",imgId);
    	 %>
    	 
     	 <img src="ImageLoader?imgId="<%=ii%>  width="150" height="200">
     	 <abbr></abbr>
     	 
     	 <%
     }	 
    
     %>
      
       
    </center>
   </form>
</body>
</html>

danke
 
Zuletzt bearbeitet:
Zurück