Home Servlets Insert Image into Database Using Servlet
Questions:Ask|Latest


 
 

Share on Google+Share on Google+

Insert Image into Database Using Servlet

Advertisement
This example illustrate the process of inserting image into database table using Servlet.

Insert  Image into Database Using Servlet

     

This example illustrate the process of inserting image into database table using Servlet. This type of program is useful in social networking or HR application where it is necessary to save the uploaded photograph of the user. If the image is stored in the database you can easily retrieve using JDBC program. In the next section you will see a program to retrieve the image from database using Servlet. After retrieving the image from database you can display it on the browser.

This type of program is really very useful, which makes your program very attractive.

How to Compile Servlet program

1. Save your file ImageInsertInTable.java .

2. Open Command Prompt and set the class path so that it includes the servlet api jar file. The servlet api is available in servlet-api.jar file which you can take from tomcat's lib directory.

3. Map your servlet in web.xml file.

Here is the mapping code that you can put in web.xml file:

<servlet>
<servlet-name>ImageInsertInTable</servlet-name>
<servlet-class>ImageInsertInTable</servlet-class>
</servlet> 
<servlet-mapping>
<servlet-name>ImageInsertInTable</servlet-name>
<url-pattern>/ImageInsertInTable</url-pattern>
</servlet-mapping>

4.  Compile your servlet class file by using javac <file_name.java>.

command prompt> javac ImageInsertInTable.java

5. Move the class file into WEB-INF/classes directory.

6. Run your program on the Browser by url-pattern which define in web.xml file.

You should type http://localhost:8080/MyApplication/ImageInsertInTable  in your browser to test the application.

MySql Table Structure:

Here is the table structure used to store the image into database. Please not the filed type used is blog.

CREATE TABLE `pictures` (
`id` int(11) NOT NULL auto_increment,
`image` blob,
PRIMARY KEY (`id`)
)

ImageInsertInTable.java

import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class ImageInsertInTable extends  HttpServlet{
  public void doGet(HttpServletRequest request, 
  HttpServletResponse response) 

  throws ServletException, IOException{
  PrintWriter pw = response.getWriter();
  String connectionURL = 
  "jdbc:mysql://192.168.10.59:3306/example"
;
  Connection con=null;
  try{
  Class.forName("com.mysql.jdbc.Driver").newInstance();
  con = DriverManager.getConnection
  (connectionURL, 
"root""root");
  PreparedStatement ps = 
  con.prepareStatement(
"INSERT INTO pictures VALUES(?,?)");
  File file =new File
(
"C:/apache-tomcat-6.0.16/webapps/CodingDiaryExample/images/5.jpg");
  FileInputStream fs = new FileInputStream(file);
  ps.setInt(1,8);
  ps.setBinaryStream(2,fs,fs.available());
  int i = ps.executeUpdate();
  if(i!=0){
  pw.println("image inserted successfully");
  }
  else{
  pw.println("problem in image insertion");
  }  
  }
  catch (Exception e){
  System.out.println(e);
  }
  }
}

Program description:

The following code is actually used to save the image data into database.

  PreparedStatement ps = con.prepareStatement("INSERT INTO pictures VALUES(?,?)");
  File file = new File("C:/apache-tomcat-6.0.16/webapps/CodingDiaryExample/images/5.jpg");
  FileInputStream fs = new FileInputStream(file);
  ps.setInt(1,8);
  ps.setBinaryStream(2,fs,fs.available());
  int i = ps.executeUpdate();

Output:

When you run the application through browser it will display the following message, once image is successfully inserted into database.

Download Source Code

Advertisements

Liked it!  Share this Tutorial


Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.

Posted on: June 21, 2008

Ask Questions?    Discuss: Insert Image into Database Using Servlet   View All Comments

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments
CHANDRANI MUKHERJEE
April 7, 2011
comment

very helpfull
Mohamed
April 9, 2012
Insert Image into Database Using Servlet

where we create the sql file for we can insert the image is it in the same forder of ther project or somewher else
pala kansakar
December 28, 2012
quesztion

wht is File file = new File("C:/apache-tomcat-6.0.16/webapps/CodingDiaryExample/images/5.jpg"); i cannot understand
pala kansakar
December 28, 2012
quesstion

pleasse provide me the HTML part for this program
DMCA.com