【发布时间】:2012-08-29 13:36:39
【问题描述】:
Image(.jpg) 以 blob 类型存储在数据库中。我已经编写了用于检索 blob 的代码
<%@ page import="java.sql.*"%>
<%@ page import="java.io.*"%>
<% Blob image = null;
java.sql.Connection con = null;
byte[ ] imgData = null ;
java.sql.Statement stmt = null;
java.sql.ResultSet rs = null;
try {
System.out.println("DisplayBlob.jsp request Parameter "+request.getParameter("imgName"));
con = java.sql.DriverManager.getConnection("jdbc:oracle:thin:@ip:1521:sid","userName", "password");
stmt = con.createStatement();
rs = stmt.executeQuery("SELECT blobObj FROM ImageBlobTable");
if (rs.next()) {
image = rs.getBlob(1);
imgData = image.getBytes(1,(int)image.length());
} else {
out.println("Display Blob Example");
out.println("image not found for given id>");
return;
}
response.setContentType("image/gif");
OutputStream o = response.getOutputStream();
o.write(imgData);
o.flush();
o.close();
} catch (Exception e) {
out.println("Unable To Display image");
out.println("Image Display Error=" + e.getMessage());
return;
} finally {
try {
rs.close();
stmt.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
%>
有 index.jsp。在这个 Jsp 中有文本,当用户将光标移到文本上时,我必须显示图像。当用户删除该文本上的光标时,图像应该消失。 我该怎么做?
技术:JSP,jquery
【问题讨论】:
-
将这样的代码放在 JSP 中并不是一个好习惯。请考虑至少使用 servlet 或简单的MVC 模式。使用一个单独的 servlet 从数据库中检索您的 JPG,您会发现您的问题很容易解决。
-
我把上面的代码(bus.logic)转移到struts2,得到了url.....但是还是没能解决问题