您在这里犯了一些根本性的错误。在
<imgsrc>必须指向一个网址,不包含图像的二进制内容。JSP页面本身的内容类型不应设置为
image/gif。应将其默认设置为
text/html。正如您所期望的那样,Web服务器应该在HTML结果中包含具体图像是不正确的。正是网络浏览器根据
src属性中找到的URL单独下载图像,然后相应地显示它们。
最简单的方法是创建一个单独的servlet,该servlet将图像从DB流传输到响应主体。您可以通过请求参数或路径信息来唯一标识图像。这是一个使用request参数的示例:
<img src="https://www.mshxw.com/skin/sinaskin/image/nopic.gif"id")%>" />
doGet()然后,该方法应 基本上 执行此工作:
String id = request.getParameter("id");// ...InputStream input = resultSet.getBinaryStream("imageColumnName");OutputStream output = response.getOutputStream();response.setContentType("image/gif");// Now write input to output the usual way.与 具体问题 无关 的是,自十年以来,强烈建议不要以这种方式使用 scriptlet
。也许您正在阅读完全过时的书籍/教程,或者正在维护古老的JSP Web应用程序。



