Java Servlet Programing Laungage

Java Servlet Projects

Servlet Project 3

adplus-dvertising
Create an application for Drawing Image in Servlet
Previous Home Next

In this Generic Servlet program, a custom image is created into JFrame (swing component) in servlet.Image and encore it into gif format before sending response to client. Used this jar file into program for encore image into GIF format.

Acme.JPM.Encoders.GifEncoder (here)

Web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
 xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
   http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
  <servlet>
   <servlet-name>drawImageServlet</servlet-name>
   <servlet-class>r4r.GenericServlet.drawImageServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>drawImageServlet</servlet-name>
	<url-pattern>/drawImageServlet</url-pattern>
  </servlet-mapping>
  <session-config>
        <session-timeout>
            30
        </session-timeout>
  </session-config>
</web-app>

Index.jsp

<%-- 
    Document   : index.jsp
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
 <head>
    <meta http-equiv="Content-Type" 
	content="text/html; charset=UTF-8">
    <title>r4r.co.in-GenericServlet</title>
 </head>
 <body>
   <form>
   <h1>Access GenericServlet by servlet's Name!</h1>
   <a href="drawImageServlet">drawImageServlet</a>
   </form>
 </body>
</html>

Servlet Program

/*
 * Save as a drawImageServlet.java
 */
package r4r.GenericServlet;
import java.awt.Font;
import java.awt.Image;
import java.awt.Graphics2D;
import java.io.IOException;
import javax.servlet.GenericServlet;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.swing.JFrame;
import Acme.JPM.Encoders.GifEncoder;
/**
 *
 * @author R4R
*/
public class drawImageServlet extends GenericServlet {
 @Override
  public void service(ServletRequest req,
	 ServletResponse res) throws ServletException,IOException
 {
   ServletOutputStream out = res.getOutputStream();

   //declaration and initialization JFrame
   JFrame frame = new JFrame(getServletInfo());
   Graphics2D graphics = null;
   try {
  frame.addNotify(); // Makes this Frame displayable on screen

  // Create a off-screen image and get graphics context
  Image image = frame.createImage(400, 200);
  graphics = (Graphics2D) image.getGraphics();

  graphics.setFont
	 (new Font("Monospaced", Font.ITALIC | Font.BOLD, 40));
  graphics.drawString("Welcome To R4R", 5, 80);

  // Send response to client
  res.setContentType("image/gif");
  //encode off-screen image into a GIF format 
  GifEncoder encoder = new GifEncoder(image, out);
  encoder.encode();
   } finally {
  // Free resource
  frame.removeNotify();
  graphics.dispose();
  out.close();
   }
    }

    @Override
    public String getServletInfo() {
 
   return "r4r.co.in-drawImageServlet";
    }
}
Output of Program
Previous Home Next