Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Chcę wyświetlić wiele obrazów z bazy danych do jsp (jestem mapowaniem serwletu), więc w jsp m będzie wyświetlany w src tagu img

Załóżmy, że masz stronę jsp, na której chcesz pobrać obraz. Możesz zrobić coś takiego, aby pobrać dowolny obraz z bazy danych.

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

    %>

W powyższym kodzie to -> <img src="./Serv1?id=<%=resultSet.getString("id")%>" /> linia jest ważna, tutaj podajesz parameter np:id do serwletu, aby uzyskać konkretny image

Teraz w twoim servlet tj. ./Serv1 musisz pobrać id w doGet i przekaż zapytanie, na koniec odeślij odpowiedź do strony 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();

         }

Również to nie jest kompletny kod, wprowadź zmiany zgodnie ze swoimi wymaganiami. Nie zapomnij również dodać jar's file

Mam nadzieję że to pomoże!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak przekazać parametry do mysql

  2. Korzystanie z różnych silników pamięci masowej MySQL w projektowaniu baz danych

  3. java mysql liczba wierszy

  4. Znajdź wiersz z maksymalną wartością identyfikatora w MySQL

  5. SQL:Pobierz produkty z kategorii, ale muszą również znajdować się w innym zestawie kategorii