4. GenericServlet class in java


Servlet Interface in Java: Previous                                                          Next: Http Servlet Class

GenericServlet class in java

GenericServlet class:

GenericServlet class implements the Servlet and ServletConfig interfaces. GenericServlet  is protocol-independent. It not provides the implementation of service method.
public abstract class GenericServlet implements Servlet, ServletConfig
GenericServlet class is in javax.servlet package (javax.servlet.GenericServlet).

Methods of GenericServlet class:

1. init(ServletConfig config): It is used to initialize the servlet. This method is called only once by the web container when it loads the servlet.
Syntax: public void init(ServletConfig config)throws ServletException
2. service(ServletRequest request,ServletResponse response): It is used to respond to a request. It is called for every new request by web container.
Syntax: public abstract void service(ServletRequest req,ServletResponse res)throws ServletException, IOException
3. destroy(): It is used to destroy the servlet. This method is called only once by the web container when all threads of the servlet have exited or in a timeout case.
Syntax: public void destroy()
4. getServletConfig(): It returns a servlet config object. This config object is passed in init method.  Servlet config object contains initialization parameters and startup configuration for this servlet.
Syntax: public ServletConfig getServletConfig()
5. getServletInfo(): It returns a string of information about servlet’s author, version, and copyright etc.
Syntax: public String getServletInfo()
6. Init(): It is a convenience method which can be overridden so that there is no need to call super.init(config).
Syntax: public void init() throws ServletException
7. getServletContext():It returns the ServletContext object in which this servlet is running.
Syntax: public ServletContext getServletContext()
8. getInitParameter(String name): It returns the value for given parameter name. It returns null if parameter not exist.
Syntax: public String getInitParameter(String name)
9. getInitParameterNames(): It returns the names of the servlet’s initialization parameters defined in web.xml file.
Syntax: public Enumeration getInitParameterNames()
10. getServletName(): It returns the name of this servlet object.
Syntax: public String getServletName()
11. log(String msg): This method writes the specified message to the servlet log file.
Syntax: public void log(String msg)
12. log(String msg,Throwable t): This method writes an explanatory message and a stack trace for a given exception to the servlet log file.
Syntax: public void log(String msg,Throwable t).

Servlet “Hello World” example by extending GenericServlet class.

HelloWorld.java
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.GenericServlet;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
 
/**
 * This servlet program is used to print "Hello World" on 
 * client browser using GenericServlet class.
 * @author java tutorial point
 */
public class HelloWorld extends GenericServlet {
    private static final long serialVersionUID = 1L;
 
    //no-argument constructor.
    public HelloWorld() {
 
    }
 
    @Override
    public void service(ServletRequest request, ServletResponse response)
   throws ServletException, IOException {
 response.setContentType("text/html");
 PrintWriter out = response.getWriter();
 
        out.println("

Hello World example using"

+ " GenericServlet class.
"); out.close(); } }
web.xml
xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" 
xmlns="http://java.sun.com/xml/ns/j2ee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
 
 <servlet>
  <servlet-name>HelloWorld</servlet-name>
  <servlet-class>
     com.javawithease.business.HelloWorld
  </servlet-class>
 </servlet>
 
 <servlet-mapping>
  <servlet-name>HelloWorld</servlet-name>
  <url-pattern>/HelloWorld</url-pattern>
 </servlet-mapping>
 
</web-app>

Output:



Servlet Interface in Java: Previous                                                          Next: Http Servlet Class