Subscribe

RSS Feed (xml)

Powered By

Skin Design:
Free Blogger Skins

Powered by Blogger

Tuesday, December 11, 2007

How to Display Blob Servlet in java

import java.io.IOException;
import java.io.InputStream;
import java.sql.Blob;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class DisplayBlobServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException,
ServletException {
Blob photo = null;
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;

String query = "select photo from MyPictures where id = '001'";
ServletOutputStream out = response.getOutputStream();

try {
conn = getHSQLConnection();
} catch (Exception e) {
response.setContentType("text/html");
out.println("Person Photo");
out.println("

Database Connection Problem.

");
return;
}

try {
stmt = conn.createStatement();
rs = stmt.executeQuery(query);
if (rs.next()) {
photo = rs.getBlob(1);
} else {
response.setContentType("text/html");
out.println("Person Photo");
out.println("

No photo found for id= 001

");
return;
}

response.setContentType("image/gif");
InputStream in = photo.getBinaryStream();
int length = (int) photo.length();

int bufferSize = 1024;
byte[] buffer = new byte[bufferSize];

while ((length = in.read(buffer)) != -1) {
System.out.println("writing " + length + " bytes");
out.write(buffer, 0, length);
}

in.close();
out.flush();
} catch (SQLException e) {
response.setContentType("text/html");
out.println("Error: Person Photo");
out.println("

Error=" + e.getMessage() + "

");
return;
} finally {
try {
rs.close();
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

private static Connection getHSQLConnection() throws Exception {
Class.forName("org.hsqldb.jdbcDriver");
System.out.println("Driver Loaded.");
String url = "jdbc:hsqldb:data/tutorial";
return DriverManager.getConnection(url, "sa", "");
}

public static Connection getMySqlConnection() throws Exception {
String driver = "org.gjt.mm.mysql.Driver";
String url = "jdbc:mysql://localhost/demo2s";
String username = "oost";
String password = "oost";

Class.forName(driver);
Connection conn = DriverManager.getConnection(url, username, password);
return conn;
}

public static Connection getOracleConnection() throws Exception {
String driver = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@localhost:1521:databaseName";
String username = "username";
String password = "password";

Class.forName(driver); // load Oracle driver
Connection conn = DriverManager.getConnection(url, username, password);
return conn;
}

}

No comments: