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以上のように、この値を取得することができます疑い卿、この「ID」showimage?idは= $ {user.E_id} ...この前が書かれているか、我々はそれを定義する必要がありますか? URLパラメータにidを渡すには、 –
これはすべてあなたの 'showimage.jsp'によって行われます – wero
大変ありがとう、本当に役に立ったよ。ありがとう、トン:)神はあなたを祝福:) –