Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Saya ingin menampilkan banyak gambar dari database ke jsp (saya memetakan servlet) jadi di jsp m akan ditampilkan di src dari tag img

Misalkan Anda memiliki halaman jsp tempat Anda ingin mengambil gambar. Anda dapat melakukan sesuatu seperti ini untuk mengambil gambar apa pun dari database.

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

    %>

Dalam kode di atas ini -> <img src="./Serv1?id=<%=resultSet.getString("id")%>" /> baris itu penting, di sini Anda melewati parameter yaitu :id ke servlet untuk mendapatkan image tertentu

Sekarang, di servlet . Anda yaitu ./Serv1 Anda harus mengambil id di doGet dan berikan kueri, terakhir kirim kembali tanggapan ke halaman 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();

         }

Juga ini bukan kode yang lengkap, buat perubahan sesuai kebutuhan Anda. Juga jangan lupa untuk menambahkan jar's file

Semoga ini membantu!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Layanan mysql tidak dapat dimulai, kesalahan fungsi init InnoDB

  2. mysqli_query() selalu mengembalikan true

  3. Permintaan MySQL untuk beberapa tabel menjadi tabel sekunder beberapa item?

  4. mysql AND klausa pada kolom yang sama beberapa kali

  5. bagaimana cara memilih baris di mana salah satu dari beberapa kolom sama dengan nilai tertentu?