Latest Tutorials| Questions and Answers|Ask Questions?|Site Map



Home Servlets Counter in Init() Method

Related Tutorials


 
 

Share on Google+Share on Google+

Counter in Init() Method

Advertisement
In this program we are going to make a such a servlet which will count and displays the number of times it has been accessed and by reading the init parameter to know from where the counting will begin.

Counter in Init() Method

     

In this program we are going to make a such a servlet which will count and displays the number of times it has been accessed and by reading the init parameter to know from where the counting will begin.

In this program we are going to make use of the init method of the Servlet interface which takes one argument of ServletConfig. Firstly declare a variable counter which will have the initial value of the counter. The init() method accepts an object which implements ServletConfig interface. It uses the method getInitParameter() method of  the ServletConfig interface to the value of the init parameter initial which we have defined in the deployment descriptor file. You need to parse the String value which you will get from the getInitParameter() method to a Integer. 

The code of the program is given below: 

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

public class CounterInInit extends HttpServlet {
  int counter;
  public void init(ServletConfig config)
 
throws ServletException{
  super.init(config);
    String initValue = 
  config.getInitParameter
("initial");
  try{
  counter = Integer.parseInt(initValue);
  }
  catch(NumberFormatException e){
  counter = 0;
  }
  }
  protected void doGet(HttpServletRequest request,
   HttpServletResponse response
)
  
throws ServletException, IOException {
   response.setContentType
("text/html");
   PrintWriter pw = response.getWriter();
   counter++;
   pw.println("Since loading this servlet"+
   "has been accessed" 
+ counter + "times");
  }
}

web.xml file for this program:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!--<!DOCTYPE web-app
 PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd"> -->

<web-app>
 <servlet>
  <servlet-name>Hello</servlet-name>
  <servlet-class>CounterInInit</servlet-class>
 </servlet>
 <servlet-mapping>
 <servlet-name>Hello</servlet-name>
 <url-pattern>/CounterInInit</url-pattern>
 </servlet-mapping>
</web-app>

The output of the program is given below:

Download this example

Advertisements

If you enjoyed this post then why not add us on Google+? Add us to your Circles



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: March 12, 2008

Related Tutorials

Discuss: Counter in Init() Method   View All Comments

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments:6
siva
June 20, 2011
"initial" value is not defind in the web.xml

In the above example there is no value for the "initial" in the web.xml file. Without defining the value in the web.xml how can we retrive in the serlets.
bhagwan singh
January 22, 2012
what use of class keyword in java

please give me result as soon as possible
Addy
January 25, 2012
Init Param not given in the web.xml file

The "initial" parameter which ought have been defined in the web.xml file has not been included. Please edit and rectify that. In the <servlet><servlet> tag we can add: <init-param> <param-name>initial</param-name> <param-value>19</param-value> </init-param>
Wasim
February 18, 2012
Missing <init-param> in above example

Hi, In web.xml file. You missed the entry for <init-param>. Thanks, Wasim
ravi parekh
May 21, 2012
Wrong example

Where do "initial" come from ? "initial" have to be declared in web.xml config.getInitParameter("initial");
Amit
August 1, 2012
'initial' Param is missing in web.xml

In the above mentioned web.xml the value for 'initial' param is missing.
DMCA.com