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

|
Current Comments
3 comments so far (post your own) View All Comments Latest 10 Comments:for every code if xml file would be here every one can easily understand the code.
Posted by anuj on Wednesday, 05.30.07 @ 13:02pm | #17715
It would have been better if the deployment descriptor is also shown here as part of the topic in java servlets->servlets examples-> Counter in Init() Method.
Posted by sandhya on Thursday, 05.17.07 @ 12:39pm | #16235
u may comment about the topic even more clear like when the init method is invoked, what is the difference between the way we did count in the early e.g. and in the current(means effect of using init() for the same purpose).
Posted by Thiruvenkadam on Wednesday, 03.21.07 @ 11:40am | #12328