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.

Counter in Init() Method

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