我想从数据库中检索图像并使用img
标记在JSP中显示它。我正在使用mySql。
public class DisplayImage extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//PrintWriter pw = response.getWriter();
String connectionURL = "jdbc:mysql://localhost:3306/demodb";;
java.sql.Connection con=null;
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
con=DriverManager.getConnection(connectionURL,"root","0321");
Statement st1=con.createStatement();
ResultSet rs1 = st1.executeQuery("select photo from contacts where contact_id='2'");
String imgLen="";
if(rs1.next()){
imgLen = rs1.getString(1);
System.out.println(imgLen.length());
}
rs1 = st1.executeQuery("select photo from contacts where contact_id='2'");
if(rs1.next()){
int len = imgLen.length();
byte [] rb = new byte[len];
InputStream readImg = rs1.getBinaryStream(1);
int index=readImg.read(rb, 0, len);
System.out.println("index"+index);
st1.close();
response.reset();
response.setContentType("image/jpg");
response.getOutputStream().write(rb,0,len);
response.getOutputStream().flush();
}
}
catch (Exception e){
e.printStackTrace();
}
}
}
此代码直接显示图像。但我想要这条道路。所以我可以在任何我想要的地方展示它。有没有其他方法可以在动态网页中显示此图像?
答案 0 :(得分:0)
路径取决于servlet在web.xml中的映射方式(因为我没有在代码中看到任何注释)。另一种 - 但相当沮丧 - 的方式是使用数据URI。见I want to retrieve image from mysql database using servlet and show that image along with that user details in table