Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tôi muốn hiển thị nhiều hình ảnh từ cơ sở dữ liệu vào jsp (tôi đang ánh xạ servlet) vì vậy trong jsp m sẽ hiển thị trong src của thẻ img

Giả sử bạn có trang jsp nơi bạn muốn lấy hình ảnh. Bạn có thể làm như thế này để lấy bất kỳ hình ảnh nào từ cơ sở dữ liệu.

 <% // 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){}

    %>

Trong đoạn mã trên, đoạn mã này -> <img src="./Serv1?id=<%=resultSet.getString("id")%>" /> dòng quan trọng, ở đây bạn đang chuyển parameter tức là:id vào servlet để lấy image cụ thể

Bây giờ, trong servlet của bạn tức là ./Serv1 bạn phải truy xuất id trong doGet và chuyển truy vấn, cuối cùng gửi lại phản hồi tới trang 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();

         }

Ngoài ra, đây không phải là mã hoàn chỉnh, hãy thực hiện các thay đổi theo yêu cầu của bạn. Ngoài ra, đừng quên thêm tệp của jar's file

Hi vọng điêu nay co ich!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để lấy kích thước byte của tập kết quả trong truy vấn SQL?

  2. Làm thế nào để có được mức trung bình với thứ tựBy Desc trong Laravel 5

  3. Giới hạn kích thước VARCHAR có quan trọng không?

  4. Xóa hàng Mysql sau thời gian được chỉ định

  5. Mysql COUNT theo ngày chỉ một phần của DATETIME