Angenommen, Sie haben eine JSP-Seite, auf der Sie ein Bild abrufen möchten. Sie können so etwas tun, um ein beliebiges Bild aus der Datenbank abzurufen.
<% // dbconnection
try {
Class.forName("com.mysql.jdbc.Driver");
java.sql.Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/project","root","");
Statement statement = conn.createStatement() ;
resultSet=statement.executeQuery("select * from product") ;
%>
<!--this loop will get all images-->
<% while(resultSet.next()){ %>
<!--I'm using id column of table,you can use any coulmn which is unique to all row-->
Image - <img src="./Serv1?id=<%=resultSet.getString("id")%>" width="20%"/>
< p>Product <%=r.getInt(1)%>: <%=r.getString(2)%></p>
<%
}
}catch(Exception e){}
%>
Im obigen Code dies -> <img src="./Serv1?id=<%=resultSet.getString("id")%>" />
Zeile ist wichtig, hier übergeben Sie parameter
d.h.:id
zum Servlet, um ein bestimmtes image
zu erhalten
Jetzt in Ihrem servlet
also ./Serv1
Sie müssen die id
abrufen in doGet
und übergeben Sie die Abfrage, senden Sie schließlich die Antwort an die JSP-Seite zurück.
Blob image = null;
byte[] imgData = null;
String id= request.getParameter("id");//here you are getting id
int i;
ResultSet rs =null;
try {
//loading drivers for mysql
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/project","root","");
String sql = "SELECT prodimg FROM product where id=?"; //here pass that id in query to get particular image
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1, id);
rs = ps.executeQuery();
while (rs.next()) {
image = rs.getBlob("image");//getting image from database
imgData = image.getBytes(1,(int)image.length()); //extra info about image
}
response.setContentType("image/gif");//setting response type
OutputStream o = response.getOutputStream();
o.write(imgData);//sending the image to jsp page
o.flush();
o.close();
}
catch(Exception e)
{
e.printStackTrace();
}
Auch dies ist kein vollständiger Code, nehmen Sie Änderungen gemäß Ihren Anforderungen vor. Vergessen Sie auch nicht, die jar's file
hinzuzufügen
Hoffe das hilft!