1 Imej telah dimuat naik, dan alamat imej yang betul telah diperoleh dalam pangkalan data
2 Alamat imej yang betul juga boleh dilihat di halaman
3 Mulakan semula tomcat dan imej akan dipaparkan
Apa masalahnya
Muka depan muka
<body bgcolor="white">
<%
response.setHeader("Pragma", "No-Cache");
response.setHeader("Cache-Control", "No-Cache");
response.setDateHeader("Expires", 0);
BookDao bookDao = new BookDao();
List<Books> list = new ArrayList<>();
List item = new ArrayList();
list = bookDao.listBookInfo();
%>
<%
for (Books books : list
) {
%>
<table>
<tr>
<td rowspan="4"><img alt="图片不存在" src="<%=books.getImgPath()%>" width="130px" height="180px"></td>
</tr>
<tr>
<td><%=books.getBookname() + "( 书号:" + books.getBookid() + ")"%>
</td>
</tr>
<tr>
<td><%=books.getWriter()%>
</td>
<td><%=books.getCbs()%>
</td>
</tr>
<tr>
<td><%=books.getItems()%>
</td>
</tr>
</table>
<hr>
<%
}
%>
Dao
public List<Books> listBookInfo() {
List<Books> list = new ArrayList();
try {
String sql = "SELECT * FROM books WHERE isLend=1";
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
Books books = new Books();
books.setBookid(rs.getLong("bookId"));
books.setBookname(rs.getString("bookName"));
books.setCbs(rs.getString("cbs"));
books.setWriter(rs.getString("writer"));
books.setIslend(rs.getLong("isLend"));
books.setItems(rs.getString("items"));
books.setDate(rs.getTimestamp("date"));
books.setImgPath(rs.getString("imgpath"));
list.add(books);
}
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
Mengikut apa yang anda katakan, ada kemungkinan gambar anda masih tersimpan dalam ingatan.
Sebagai contoh, strim output anda dicache, tetapi tiada siram atau tutup dalam kod anda, dan kemudian memulakan semula menyebabkan siram paksa.