如何在jsp页面中显示mysql数据库中的blob文件?

时间:2015-02-03 18:00:39

标签: java mysql jsp

我已经编写了一个程序来从mysql数据库中检索图像列表(blob文件)然后调用我的jsp程序中的方法来显示各自的图像,我知道我错了,所以请需要一些指导来解释我在jsp页面中显示图像的方式。

我正在使用一个列表,因为在我的客户端,我有一个项目列表,当我点击相应的项目时,我存储在我的数据库中的图像应该根据项目的类型进行检索。

public List<Blob> imageCategoryList(String msg_type) {
    List imgList = new ArrayList<String>();
    try {

        Class.forName("com.mysql.jdbc.Driver");
        connection = (Connection)
        DriverManager.getConnection("jdbc:mysql://localhost:3306/image",  
        "root","root");
        state = (Statement) connection.createStatement();

        prep = (PreparedStatement) connection
                .prepareStatement("Select tt_images from timetable where   
        message_type = ?");
        prep.setString(1,msg_type);
        rSet = prep.executeQuery();
        while (rSet.next()) {
            Blob image = rSet.getBlob("tt_images");
            InputStream is = image.getBinaryStream();
            imgList.add(is);
        }

        connection.close();

    } catch (Exception e) {
        // TODO: handle exception
        e.printStackTrace();
    }
    return imgList;
}

在我的服务器端,我有一个jsp页面,其中包含与客户端相同的项目列表,并对另一个jsp页面执行操作,我在其中编写了以下代码,请更正我的错误

<%
Server_Sql server_Sql = new Server_Sql();
String gcm_msg_type = request.getParameter("year_branch");
List<Blob> imgList = server_Sql.imageCategoryList(gcm_msg_type);
%>

<%
        for (int i = 0; i < imgList.size(); i++) {
    %>
    <%=imgList.get(i)%>
    <%
        }
    %>

感谢你

1 个答案:

答案 0 :(得分:0)

这不是html的工作原理。您需要先加载(html)网页,然后在该页面上显示&lt; img&gt;将在每个单独的请求中加载的标签。您可以编写JSP / Servlet来将blob转换为图像(基本上您只需要设置内容类型)但添加到网页本身不会起作用

相关问题