![](/img/trans.png)
[英]How to display an image from a database in a JSP using a java servlet?
[英]How to display image on jsp from DB using java servlet
我想要做的基本上是在jsp页面上显示来自Mysql的图像。 我能够使用以下代码成功地将 blob 图像文件调用到我的 java servlet 中的输出流中。
在 servlet 中,
byte[] imgData = null;
Blob image1 = null;
image1 = result.getBlob("image1");
imgData = image1.getBytes(1, (int)image1.length());
在jsp中,
<%
response.setContentType("image/gif");
OutputStream o = response.getOutputStream();
o.write(imgData);
%>
这种方法的问题是这个jsp页面是用图像完成的。 这样,页面会丢弃其他内容,只显示图像。 我想要做的是使用
<img src=??? width=??? height=???>
我试图调整输出流图像的大小,但我认为没有办法。
请帮我
提前致谢。
在我看来,您应该创建两个不同的 servlet:
一种用于通过从HttpServlet
获取写入器并写入字节数组作为响应来下载图像。
二, .jsp
页面将包含一个img
标签, src
将链接到第一个端点。
这看起来像:
1)
public class ImageServlet extends HttpServlet {
//...
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
//...
response.setHeader("Content-Type", this.getServletContext().getMimeType(imageFileName));
response.setHeader("Content-Length", X);
response.getOutputStream().write(<<image byte[]>>);
}
2)
<%@ taglib uri="http://java.sun.com/jsp/jstl/core"
prefix="c" %>
<html>
<head><title>Hello</title></head>
<body bgcolor="white">
<img src="/images?id=3" height="Xpx" width="Ypx">
<h2>My name is Duke. What is yours?</h2>
</body>
</html>
我认为这应该有效。 如果答案有帮助,请投票作为接受的答案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.