如何使用java servlet

时间:2018-02-05 23:04:59

标签: java mysql jsp servlets

我要做的是基本上在jsp页面上显示来自Mysql的图像。 我成功地使用以下代码将blob图像文件调用到我的java servlet中的outputstream。

在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=???>

我尝试调整输出流图像的大小,但我认为没有办法。

请帮帮我

提前致谢。

1 个答案:

答案 0 :(得分:0)

在我看来,你应该创建两个不同的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>

我认为这应该有效。如果答案有帮助,请投票作为接受的答案。