This script reads the image from the databse and uses JDBC and
stream to write it into a browser.
//import the required files
import ...
//class declaration
public class ... extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Connection conn = null;
byte[] buffer = new byte[4 * 1024];
int len;
try {
//database connectivity
DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
conn = DriverManager.getConnection("jdbc:oracle:thin:@url:1521:omm","uname","pwd");
response.setContentType("image/gif");
//getting stream
ServletOutputStream out = response.getOutputStream();
//executing query
Statement stmt = conn.createStatement();
//note IMAGE field may be CLOB/BLOB in the database
ResultSet rs = stmt.executeQuery("SELECT IMAGE FROM table_image WHERE IMAGE_ID = 101") ;
if (rs.next()) { //reading &writting using stream
BufferedInputStream bis = new BufferedInputStream(rs.getBinaryStream("IMAGE"));
while ((len = bis.read(buffer, 0, buffer.length)) != -1) {
out.write(buffer, 0, len);
}
}
}
catch ( Exception e ) {//exception handling
}
}
}