1 L'image a été téléchargée et l'adresse correcte de l'image a été obtenue dans la base de données
2 L'adresse correcte de l'image peut également être consultée sur la page
3 Redémarrez Tomcat et l'image sera affichée
Quel est le problème
Page frontale
<% response.setHeader("Pragma", "No-Cache"); response.setHeader("Cache-Control", "No-Cache"); response.setDateHeader("Expires", 0); BookDao bookDao = new BookDao(); List list = new ArrayList<>(); List item = new ArrayList(); list = bookDao.listBookInfo(); %> <% for (Books books : list ) { %> ![图片不存在](<%=books.getImgPath()%>)
<%=books.getBookname() + "( 书号:" + books.getBookid() + ")"%> <%=books.getWriter()%> <%=books.getCbs()%> <%=books.getItems()%>
<% } %>
Dao
See Morepublic List listBookInfo() { List 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; }
D'après ce que vous avez dit, il est possible que vos photos soient toujours stockées en mémoire.
Par exemple, votre flux de sortie est mis en cache, mais il n'y a ni vidage ni fermeture dans votre code, puis le redémarrage provoque un vidage forcé.