मान लें कि आपके पास जेएसपी पेज है जहां आप छवि पुनर्प्राप्त करना चाहते हैं। डेटाबेस से किसी भी छवि को पुनर्प्राप्त करने के लिए आप ऐसा कुछ कर सकते हैं।
<% // 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){}
%>
उपरोक्त कोड में यह -> <img src="./Serv1?id=<%=resultSet.getString("id")%>" />
लाइन महत्वपूर्ण है, यहां आप parameter
passing पास कर रहे हैं यानी:id
सर्वलेट के लिए विशेष image
. प्राप्त करने के लिए
अब, आपके servlet
. में यानी ./Serv1
आपको id
. को पुनः प्राप्त करना होगा doGet
. में और क्वेरी में पास करें, अंत में प्रतिक्रिया को jsp पेज पर वापस भेजें।
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();
}
साथ ही यह पूर्ण कोड नहीं है, अपनी आवश्यकताओं के अनुसार परिवर्तन करें। jar's file
जोड़ना न भूलें
उम्मीद है ये मदद करेगा!