休止

2017-05-21 20 views
0

でデータベースから画像を取得するには、これは名前の私のサーブレットshowimage.javaある以下休止

protected void doGet(HttpServletRequest req, HttpServletResponse res) 
      throws ServletException, IOException { 

     session=sessionFactory.openSession(); 
     session.beginTransaction();   

     try{    
     Tab person = (Tab) session.get(Tab.class,new Integer(1));  
     byte[] photoBytes = person.getEImage();   
     try (ServletOutputStream sos = res.getOutputStream()) { 
      sos.write(photoBytes); 
      } 
     } 
     catch(Exception e){ 
     e.printStackTrace();   
     session.getTransaction().commit(); 
     session.close(); 
     a++; 
     }   
} 

そして、ある画像colomnにデータベースから同じ画像を取得showimage.jsp .I'mという名前の私のJSPページこのため、タブperson =(Tab)session.get(Tab.class、new Integer(1));。誰かがの新しいInteger(1)を置き換えるように提案できるので、サーブレットが呼び出されるたびに、データベースから新しいID を動的に取得することができます。

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>JSP List Users Records</title> 
</head> 
<body> 
    <sql:setDataSource 
     var="myDS" 
     driver="com.mysql.jdbc.Driver" 
     url="jdbc:mysql://localhost:3306/project" 
     user="root" password="lovemapa!23" 
    /> 

    <sql:query var="listUsers" dataSource="${myDS}"> 
     SELECT * FROM tab; 
    </sql:query> 

    <div align="left"> 
     <table border="1" cellpadding="5"> 
      <caption><h2>List of users</h2></caption> 
      <tr> 
       <th>ID</th> 
       <th>Image</th> 
      </tr> 
      <c:forEach var="user" items="${listUsers.rows}"> 
       <tr> 
        <td><c:out value="${user.E_id}" /></td> 
        <td><img src="showimage?id=${user.E_id}"></td> 
       </tr> 
      </c:forEach> 
     </table> 
    </div> 
</body> 
</html> 

答えて

1

URLパラメータとしてID:showimage?id=${user.E_id}を渡します。サーブレットで あなたは

Integer id = new Integer(req.getParameter("id")); 
Tab person = (Tab) session.get(Tab.class, id); 
+0

1以上のように、この値を取得することができます疑い卿、この「ID」showimage?idは= $ {user.E_id} ...この前が書かれているか、我々はそれを定義する必要がありますか? URLパラメータにidを渡すには、 –

+0

これはすべてあなたの 'showimage.jsp'によって行われます – wero

+0

大変ありがとう、本当に役に立ったよ。ありがとう、トン:)神はあなたを祝福:) –