Я изо всех сил пытаюсь понять эту ошибку. У меня только одна страница jsp, которая должна отображать изображение из моей базы данных mysql. Изображение в настоящее время отображается как пустое белое изображение, в основном его контур. Нет проблем с отображением текста. Было бы здорово, если бы кто-нибудь смог мне помочь. У меня изначально был .getString вместо .getBlob, который отображал строку случайных символов.
С уважением.
<html>
<body>
<%@page contentType="text/html; charset=UTF-8" %>
<%@ page import="java.io.*"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.text.*"%>
<%@ page import="javax.servlet.*"%>
<%@ page import="javax.servlet.http.*"%>
<%@ page import="javax.servlet.http.HttpSession"%>
<%@ page language="java"%>
<%@ page session="true"%>
<%@ page import="java.sql.*"%>
<%
Blob image = null;
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
String iurl1=null;
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/databasename","root","");
stmt = con.createStatement();
rs = stmt.executeQuery("select * from book where book_id = 1");
%>
<table border="2">
<tr><th>DISPLAYING IMAGE</th></tr>
<tr><td>Image 2</td></tr>
<tr><td>
<%while(rs.next()){%>
<p><%=rs.getString("title") %></p>
<p><%=rs.getString("author") %></p>
<img src="<%=rs.getBlob("image") %>" width="500" height="500"/>
<%}%>
</td></tr>
</table>
<%}
catch (Exception e) {
out.println("DB problem");
return;
}
finally {
try {
rs.close();
stmt.close();
con.close();
}
catch (SQLException e) {
e.printStackTrace();
}
}
%>
</body>
</html>