如何在jsp页面中从数据库mysql加载和显示图像?

时间:2018-10-12 02:50:00

标签: java mysql jsp servlets

我需要在数据库中显示其徽标的公司信息。我已经可以显示公司表的信息(名称,地址和描述),但是我不知道如何加载保存在数据库中的图像并将其显示在jsp页面上。 这是我的进步。

公司类

public class empresa {
    private int idEmpresa;
    private int fkpersona;    
    private String nombreE;
    private String direccion;
    private String rfc;
    private String texto;
    private InputStream archivoimg;
    private byte[] archivoimg2;}

我不会放置此类的所有代码,因为它的内容非常广泛,我只放置了类的属性

DAO类:

public List<empresa> MostrarEmpresa(){
        try{
        String sql="Select * From empresa Limit 6";
        PreparedStatement ps = conn.getConnection().prepareStatement(sql);
        ResultSet rs = ps.executeQuery();
        List <empresa> lista = new LinkedList<>();
        empresa empre;
        while(rs.next()){
        empre = new empresa();
        empre.setIdEmpresa(rs.getInt("idempresa"));
        empre.setNombreE(rs.getString("nom_empresa"));
        empre.setDireccion(rs.getString("direccion"));
        empre.setRfc(rs.getString("rfc"));
        empre.setTexto(rs.getString("descrip"));
        lista.add(empre);
        }
        return lista;
        }catch (SQLException e){
            System.out.println(e);
            return null;
        }
    }

我的servlet:

public class InicioController extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        RequestDispatcher rd;
        conexion conn = new conexion();
        EmpresaDAO fun = new EmpresaDAO(conn);
        List<empresa> lista = new LinkedList<>();
        lista=fun.MostrarEmpresa("");
        conn.desconectar();
        request.setAttribute("empresas", lista);
        rd = request.getRequestDispatcher("/index.jsp");
        rd.forward(request, response);
    }
}

我的jsp:

<%@taglib  uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html lang="es">
<head></head>
<body>
<c:forEach items="${empresas}" var="empresa">
                    <div class="row">
                        <div class="col-md-4 col-sm-6 portfolio-item">
                            <a href="#portfolioModal${empresa.getIdEmpresa()}" class="portfolio-link" data-toggle="modal">
                                <div class="portfolio-hover">
                                    <div class="portfolio-hover-content">
                                        <i class="fa fa-plus fa-3x"></i>
                                    </div>
                                </div>
       <img src="this is where I want to upload the image" class="img-responsive" alt="">
                            </a>
                            <div class="portfolio-caption">
                                <h4>${empresa.getNombreE()}</h4>
                                <p class="text-muted">${empresa.getDireccion()}</p>
                            </div>
                        </div>

                    </c:forEach>
</body>

1 个答案:

答案 0 :(得分:0)

在网页文件夹旁边创建图像文件夹,并写入图像和数据库保存的文件文件项目路径

在设置img标签src“ localhost:8080 / projectname /” +数据库保存的网址(“ image / abc.jpg”)之后

私有字符串archivoimg;

empre.setArchivoimg(localhost:8080 / projectname /“ +数据库保存的URL(” image / abc.jpg“));