Java 从mysql检索图像并在JSP上显示
我有以下代码从mysql检索图像,并希望在JSP上显示它,但显示的是网页,而不是图像。 这个密码是什么Java 从mysql检索图像并在JSP上显示,java,jsp,Java,Jsp,我有以下代码从mysql检索图像,并希望在JSP上显示它,但显示的是网页,而不是图像。 这个密码是什么 <tbody> <tr> <td> <%@ page import="java.io.*"%> <%@ page import="java.sql.*"%> <%@ page import
<tbody>
<tr>
<td> <%@ 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;
byte[] imgData = null ; String DBname = "Rest_Tucan"; String userName = "aaks1962"; String password = "1962";
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/"
+ DBname + "?UseUnicode=true&charachterEncoding=UTF-8");
stmt = con.createStatement();
rs = stmt.executeQuery("select * from imagesTable where imagesTableCode = 1");
while(rs.next()){
image = rs.getBlob("imagesTableBig");
}
// display the image
imgData = image.getBytes(1,(int)image.length());
response.setContentType("image/jpg");
OutputStream o = response.getOutputStream();
o.write(imgData);
o.flush();
o.close();
}catch (SQLException e) {
e.printStackTrace();
};
%>
</td>
基本上,你需要
requestScope
是一个内置的JSP变量,您可以使用它的名称来获取属性。imageBytes
是Servlet代码中使用的属性名
对类似问题的回答可能有助于您了解细节
编辑:还有一件事,请尝试将
@page
JSP指令保持在JSP页面的顶部,以增加可读性。我将尝试您的解决方案。是否可以按照您建议的方式修改部分代码并将其发布在此处?