Error » Certification & Programming center Error !! » Programming tutorials » Creating Images in a Java Servlet

Programming tutorials All Knowledge Info and links to posted here

Post New Thread Reply
  Creating Images in a Java Servlet
LinkBack Thread Tools Display Modes
Old 21-Dec-2006, 01:51 AM   #1 (permalink)
Administrator
 
Anilrgowda's Avatar

Posts: 18,715
Join Date: Jan 2006
Rep Power: 10 Anilrgowda is on a distinguished road

IM:
Default Creating Images in a Java Servlet

Dynamic images are commonly used in web applications. You will find dynamic images such as charts, captcha, web site thumbnails, image thumbnails, watermarks, etc. This tutorial will give you a brief walk through on creating a simple dynamic image in a Java Servlet.
Setting up the Servlet
As with most servlets, this servlet will override the doGet() method in HttpServlet. The doGet() method will be called when an HTTP GET request is made to the servlet. We can expect an HTTP GET request when a servlet is called within an <img> tag.

package com.codebeach.servlet;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.awt.*;
import java.awt.image.*;
import javax.imageio.*;

public class ImageServlet extends HttpServlet
{
public void doGet(HttpServletRequest req, HttpServletResponse res)
{

}
}
</pre>
Creating the Image
We will create a BufferedImage for drawing our demo image. When creating the BufferedImage, you can specify the size (width x height) and the type of image.
BufferedImage bufferedImage = new BufferedImage(200, 200, BufferedImage.TYPE_INT_RGB);
Drawing Our Image
Once we have an image, we can get the Graphics object from the bufferedImage and draw our image. For this example, we will draw a simple circle on the image. After the oval is drawn, the Graphics object is disposed.
//Draw an oval
Graphics g = bufferedImage.getGraphics();
g.setColor(Color.blue);
g.fillOval(0, 0, 199,199);
g.dispose();
Setting the Image Mime Type
Normally, when a static image is sent from the web server to the web browser, the web server knows the mime type of the image based on the file extension. If the file was a jpg, the mime type would be image/jpg. If the file was a gif, the mime type would be image/gif. Since the web server won't have a file extension for the mime type, we will need to set the mime type for web browser. For our example, we are going to create a jpg image.
res.setContentType("image/jpg");
Creating a JPG
The final step is to write the image to the response output stream as a jpg. To do this, we will use the ImageIO class that was introduced with Java 1.4. The ImageIO class allows you to write an Image object to JPG, PNG, BMP, and WBMP. In Java 1.6, you will be able to write an Image as GIF.
ImageIO.write(bufferedImage, "jpg", res.getOutputStream());
The ImageIO class will write the bufferedImage as a jpg to the output stream from the HttpServletResponse object.
The Results
To access the image, you can place the servlet call in an <img> tag or directly from the URL. The following is a screenshot from of the generated image in a web browser.

Wrapping It Up
Below is the complete example of creating an image from a servlet:

package com.codebeach.servlet;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.awt.*;
import java.awt.image.*;
import javax.imageio.*;

public class ImageServlet extends HttpServlet
{
public void doGet(HttpServletRequest req, HttpServletResponse res)
{
//Set the mime type of the image
res.setContentType("image/jpg");

try
{
//Create an image 200 x 200
BufferedImage bufferedImage = new BufferedImage(200, 200,
BufferedImage.TYPE_INT_RGB);

//Draw an oval
Graphics g = bufferedImage.getGraphics();
g.setColor(Color.blue);
g.fillOval(0, 0, 199,199);

//Free graphic resources
g.dispose();

//Write the image as a jpg
ImageIO.write(bufferedImage, "jpg", res.getOutputStream());
}
catch (IOException ioe)
{

}
}
}
</pre>
Anilrgowda is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl this Post!Reddit!
Reply With Quote
   


   
Post New Thread Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Java JDBC Tutorials - Topics include Java, Database, JDBC, Driver, ODBC and more! Anilrgowda Graphic tutorials 0 04-Sep-2007 01:02 AM
The Javalog.txt file is created in the Windows\Java folder when Java logging is enabl Anilrgowda Microsoft windows vista error 0 29-Jan-2007 10:09 AM
Using Images for SEO Anilrgowda Search Engine Optimization 1 25-Jan-2007 02:07 PM
Images Next to AdSense is Ban Anilrgowda AdSense 0 27-Dec-2006 12:29 AM
Watermarking Images in a Java Servlet Anilrgowda Graphic tutorials 0 21-Dec-2006 01:47 AM


All times are GMT -8. The time now is 10:08 AM.

Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0

DMCA Policy

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228