Java 我的代码没有在我的jsp文件中显示保存在blob类型数据库中的图像?

Java 我的代码没有在我的jsp文件中显示保存在blob类型数据库中的图像?,java,image,jsp,arraylist,dao,Java,Image,Jsp,Arraylist,Dao,我有一个问题,在我的mysql数据库中注册的图像没有显示,我有一个表,在该表之间我有一列照片,我想将其与我的其他列一起列出,但我找不到下面问题的解决方案。我添加了来自ArrayList方法的代码以及jsp中的调用和结果 我的类DAO方法 public ArrayList<CitaVO> listarCitas(String cliente_idCliente) { CitaVO citVO = null; conexion = this.obtene

我有一个问题,在我的mysql数据库中注册的图像没有显示,我有一个表,在该表之间我有一列照片,我想将其与我的其他列一起列出,但我找不到下面问题的解决方案。我添加了来自ArrayList方法的代码以及jsp中的调用和结果

我的类DAO方法

public ArrayList<CitaVO> listarCitas(String cliente_idCliente) {

        CitaVO citVO = null;
        conexion = this.obtenerConexion();
        ArrayList<CitaVO> listaCitas = new ArrayList<>();
        try {
            sql = "SELECT * FROM vwcitasactivas WHERE cliente_idCliente=?";
            puente = conexion.prepareStatement(sql);
            puente.setString(1, cliente_idCliente);
            mensajero = puente.executeQuery();

            while (mensajero.next()) {
                citVO = new CitaVO(mensajero.getString(1),
                        mensajero.getString(2), mensajero.getBinaryStream(3),
                        mensajero.getString(4), mensajero.getString(5),
                        mensajero.getString(6), mensajero.getString(7),
                        mensajero.getString(8), mensajero.getString(9),
                        mensajero.getString(10), mensajero.getString(11),
                        mensajero.getString(12),cliente_idCliente);
                listaCitas.add(citVO);

            }
        } catch (Exception e) {
            Logger.getLogger(ProAgendaDAO.class.getName()).log(Level.SEVERE, null, e);
        }
        return listaCitas;

public ArrayList listarCitas(字符串cliente\u idCliente){
CitaVO citVO=null;
conexion=this.obtenerConexion();
ArrayList listaCitas=新的ArrayList();
试一试{
sql=“从vwcitasactivas中选择*,其中cliente_idCliente=?”;
puente=conexion.prepareStatement(sql);
puente.setString(1,cliente_idCliente);
mensajero=puente.executeQuery();
while(mensajero.next()){
citVO=新的CitaVO(mensajero.getString(1),
mensajero.getString(2),mensajero.getBinaryStream(3),
mensajero.getString(4),mensajero.getString(5),
mensajero.getString(6),mensajero.getString(7),
mensajero.getString(8),mensajero.getString(9),
mensajero.getString(10),mensajero.getString(11),
mensajero.getString(12名客户);
添加(citVO);
}
}捕获(例外e){
Logger.getLogger(proagendaao.class.getName()).log(Level.SEVERE,null,e);
}
返回列表;
jsp,我在其中列出结果

<%
                                                        CitaVO citVO = new CitaVO();
                                                        CitaDAO citDAO = new CitaDAO();
                                                        ArrayList<CitaVO> listaCitas = citDAO.listarCitas(idCliente);
                                                        for (int i = 0; i < listaCitas.size(); i++) {
                                                            citVO = listaCitas.get(i);

                                                    %>
                                                    <tr>
                                                        <td>
                                                            <div class="round-img">
                                                                <a href=""><img src="data:image/jpg;base64,<%=citVO.getUsuFoto()%>" alt="" width="50px" height="50px" ></a>
                                                            </div>
                                                        </td>
                                                        <td><%=citVO.getUsuNombre()%> <%=citVO.getUsuApellido()%></td>
                                                        <td><%=citVO.getUsuCiudad()%></td>
                                                        <td><%=citVO.getCitFecha()%></td>
                                                        <td><%=citVO.getProDia()%></td>
                                                        <td><%=citVO.getCitDireccion()%></td>
                                                        <td><%=citVO.getCitHoraInicio()%></td>
                                                        <td><%=citVO.getCitHoraFin()%></td>
                                                        <td <%=citVO.getCitEstado()%>><span class="badge badge-primary">Activa</span></td>
                                                        <td>
                                                            <span><a href="Cita?opcion=6&textId=<%=citVO.getIdCita()%>&textEstado=<%=citVO.getCitEstado()%>"><i class="ti-eye color-default"></i></a> </span>
                                                            <span><a href="Cita?opcion=7&textId=<%=citVO.getIdCita()%>"><i class="ti-pencil-alt color-success"></i></a></span>
                                                            <span><a href="Cita?opcion=3&textId=<%=citVO.getIdCita()%>&textEstado=<%=citVO.getCitEstado()%>" class="btn sweet-confirm" onclick="return cancelarCita(event)"><i class="ti-trash color-danger"></i> </a></span>
                                                        </td>
                                                    </tr>
                                                    <%}%>

阿西瓦
我的jsp结果我的图像不显示
问题在于
属性的
src
属性希望这能起作用。如果查看页面的HTML源代码,您可能会看到如下内容:


这不是URL,这是当您获取一个类未重写
.toString()
的对象并尝试将其转换为字符串时得到的结果

此问题有两种解决方案:

  • 将图像数据转换为base64并使用a来包含数据。然后,您可以将此URL放在
    属性的
    src
    属性中,您可以写出类似
    src=“/usuFoto/
    的内容。有关如何编写此类servlet的示例,请参阅

  • 朋友,你能不能把我必须编辑的内容放在我的代码里,这样其他人就知道该修改什么了