无法检索使用JSP从数据库Blob的成功retrievation其他信息?(unable to re

2019-10-29 04:19发布

我已经成功地插入到SQL数据库通过.JSP程序的学生的细节,他的形象。 问题是,当我回来取回的学生通过其他的.jsp程序只图像显示,学生的任何其他信息存储的信息。

任何一个可以帮助我的代码检索存储团块图像和其他信息一起显示?

我使用Oracle数据库11g。

它有一个名为studdetail student表。 它具有五列,第1列到第4列是VARCHAR2和第五列是团块。 我已经能够成功地通过插入HTML和JSP程序值到数据库中。 但是,当我回检索信息的问题出现了。 它只显示图像,但没有其他信息。

检索JSP代码:show.jsp

<%@page import="java.io.OutputStream"%>
<%@page import="java.sql.Blob"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.Connection"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <%
       try{
                Class.forName("oracle.jdbc.OracleDriver");
                Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:db","xxxx","apple");



                PreparedStatement ps=con.prepareStatement("select * from studdetail");
                ResultSet rs=ps.executeQuery();
                while(rs.next()){ %>
                <table><tr><th>student id:</th><td><%=rs.getString(1) %></td></tr> 
                    <tr><th>student name:</th><td><%=rs.getString(2) %></td></tr>
                    <tr><th>student branch code</th><td><%=rs.getString(3) %></td></tr>
                    <tr><th>student contact number</th><td><%=rs.getString(4) %></td></tr>
                    <tr><th>students image</th><td>
                <%
                    Blob bl=rs.getBlob(5);
                    byte[] image=bl.getBytes(1, (int)bl.length());
                    response.setContentType("image/bmp");
                    OutputStream o = response.getOutputStream();
                    o.write(image);
                    o.flush();
                    o.close();
             }
                %></td></tr>
                </table> 
                    <%
               con.close();
           }catch(Exception e){
          out.print(e);
          }

     %>
    </body>
</html>

Answer 1:

你已经在你的JSP来呈现图像无缘img标签。

<%@page import="java.io.OutputStream"%>
<%@page import="java.sql.Blob"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.Connection"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <%
       try{
                Class.forName("oracle.jdbc.OracleDriver");
                Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:db","xxxx","apple");



                PreparedStatement ps=con.prepareStatement("select * from studdetail");
                ResultSet rs=ps.executeQuery();
                while(rs.next()){ %>
                <table><tr><th>student id:</th><td><%=rs.getString(1) %></td></tr> 
                    <tr><th>student name:</th><td><%=rs.getString(2) %></td></tr>
                    <tr><th>student branch code</th><td><%=rs.getString(3) %></td></tr>
                    <tr><th>student contact number</th><td><%=rs.getString(4) %></td></tr>
                    <tr><th>students image</th><td>**<img src="
                <%
                    Blob bl=rs.getBlob(5);
                    byte[] image=bl.getBytes(1, (int)bl.length());
                    response.setContentType("image/bmp");
                    OutputStream o = response.getOutputStream();
                    o.write(image);
                    o.flush();
                    o.close();
             }
                %>"></img></td></tr>
                </table> 
                    <%
               con.close();
           }catch(Exception e){
          out.print(e);
          }

     %>
    </body>
</html>

无论你正在做的是找回在网页中从数据库和显示图像原始方法。 有更好的方法来做到这一点。 我会指定我的图像属性的源到会从中检索数据库图像斑点的servlet。



文章来源: unable to retrieve other information on successful retrievation of blob from database using jsp?
标签: sql jsp blob