Hi all
i'm trying to fetch an image from a database using
servlet and then display it in a
jsp page.
The servlet code is the following
package image;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.sql.*;
public class imageServlet extends HttpServlet {
private PreparedStatement pstmt;
ResultSet res=null;
Blob a1=null;
InputStream in=null;
Connection conn;
OutputStream os ;
public void init() {
try{
Driver Dr1=new oracle.jdbc.driver.OracleDriver();
DriverManager.registerDriver(Dr1);
conn=DriverManager.getConnection("jdbc
racle:thin:samer/samer@193.188.66.105:1521:a8i");
}catch(Exception ex){System.out.println("init ERROR");
}
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
{
try{
pstmt=conn.prepareStatement("select item_pic from e_jitcc where item_num=?");
pstmt.setInt(1,2);
res=pstmt.executeQuery();
response.setContentType("image/jpeg");
os=response.getOutputStream();
if(res.next())
{
a1=res.getBlob("item_pic");
in=a1.getBinaryStream();
System.out.println("IMAGE FOUND");
}
int c;
while ((c = in.read()) != -1) {
os.write(c);
}
}catch(Exception h)
{ h.printStackTrace();
System.out.println("Cannot count1");
}
finally{
try{
res.close();
in.close();
os.flush();
os.close();
}catch(Exception h){}
}
}
}
the JSP is
<html>
<head>
<title>
</title>
</head>
<body bgcolor="#EEEFFF">
<br>
<br>
<br>
<table border=1 align="center">
<tr>
<td>
<a href="damn">kjgkjg</a>
</td>
<td>
<img src="damn">
</td>
</tr>
<%
%>
</table>
</body>
</html>
the web.xml is
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<servlet>
<servlet-name>image</servlet-name>
<servlet-class>image.imageServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>image</servlet-name>
<url-pattern>/damn/*</url-pattern>
</servlet-mapping>
</web-app>
The problem is that the output is an empty block "which is generated by the <img> tag" contains no image, no exceptions throwed ,so i can't figure out where is the error
Thanks