无法通过jsp显示数据库中的所有信息

我的要求是通过jsp将艺术家详细信息和他的图片插入到oracle数据库中,并通过另一个jsp程序检索信息和图片。

artist表有五列,四列是varchar2,第五列是blob类型。

我已成功插入并成功检索但问题只显示图像。 以下是代码。 我被卡住了。 我需要帮助。 请建议我。

PreparedStatement ps=con.prepareStatement("select * from artist"); ResultSet rs=ps.executeQuery(); while(rs.next()){ %> 
artist fast name:
artist middle name:
artist last name
artist job
artist image" height="100" width="100" alt="bye"/>
<% con.close();

从版本6开始,Java SE提供了JAXB,通过它可以将字节转换为base64字符串 。 在这里你也可以将图像byte[]转换为base 64字符串 ,它可以使用 html标签显示,指定src数据为base 64即src="data:image/png;base64, .

修改您的代码如下:

 <% PreparedStatement ps=con.prepareStatement("select * from artist"); ResultSet rs=ps.executeQuery(); while(rs.next()){ %> 
artist fast name:<%=rs.getString(1) %>
artist middle name:<%=rs.getString(2) %>
artist last name<%=rs.getString(3) %>
artist job<%=rs.getString(4) %>
artist image <% Blob bl=rs.getBlob(5); byte[] image=bl.getBytes(1, (int)bl.length()); %> bye
<% } con.close(); %>

这是另一个示例jsp页面,用于获得一个清晰的想法:

 <%@page import="java.awt.image.BufferedImage"%> <%@page import="javax.imageio.ImageIO"%> <%@page import="java.io.*"%> <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>     Insert title here   <% BufferedImage bImage = ImageIO.read(new File("/home/visruth/Desktop/Visruth.jpg"));//give the path of an image ByteArrayOutputStream baos = new ByteArrayOutputStream(); ImageIO.write( bImage, "jpg", baos ); baos.flush(); byte[] imageInByteArray = baos.toByteArray(); baos.close(); String b64 = javax.xml.bind.DatatypeConverter.printBase64Binary(imageInByteArray); %> 

As of v6, Java SE provides JAXB

Visruth.jpg not found