- World's Largest Collection of Interview Questions & Answers, FAQs, queries, sample papers, exam papers, dumps, what, why, how, where, when questions
Interview Success Kit - Get Success in Job Interviews Interview Success Kit - 30,000 Interview Que. & Ans.
Covers 30,000+ Interview Questions asked in actual MNC Interviews - all with model answers.
Get Your Dream Job Now -
Sponsored Links
Interview Questions
Our Services

Question :
What is the difference between GenericServlet and HttpServlet?
Category Servlet Interview Questions
Rating (3.5) By 44 users
Added on 10/25/2009
Views 3225
Rate it!

GenericServlet is for servlets that might not use HTTP, like for instance FTP service.As of only Http is implemented completely in HttpServlet. The GenericServlet has a service() method that gets called when a client request is made. This means that it gets called by both incoming requests and the HTTP requests are given to the servlet as they are.

Generic Servlet:- A GenericServlet has a service() method to
handle requests. It is protocol independent.

Http Servlet:- The HttpServlet extends GenericServlet and adds support for HTTP protocol based methods like doGet(), doPost(), doHead() etc. It is protocol dependent.

Posted by: modi

Contact modi Contact modi

GenericServlet is not specific any protocol .The GenericServlet has a service()method that gets called when a client request is made.

But HttpServlet is specific to Http protocol

Posted by: Anirudh Narayan

Contact Anirudh Narayan Contact Anirudh Narayan

When one writes a Servlet code, he must implement this interface directly or indirectly. Here, one always implements the interface indirectly by extending either the javas.servlet.GenericServlet or javax.servlet.http.HttpServlet classes.

The GenericServlet class implements the Servlet interface and, for convenience, the ServletConfig interface. Servlet developers typically subclass GenericServlet, or its descendent HttpServlet, unless the Servlet needs another class as a parent. (If a Servlet does need to subclass another class, the Servlet must implement the Servlet interface directly. This would be necessary when, for example, RMI or CORBA objects act as Servlets.)
The GenericServlet class was created to make writing Servlets easier. It provides simple versions of the life-cycle methods init() and destroy( ), and of the methods in the ServletConfig interface. It also provides a log method, from the ServletContext interface. The Servlet writer must override only the service method, which is abstract. Though not required, the Servlet implementer should also override the getServletInfo() method, and will want to specialize the init and destroy methods if expensive Servlet-wide resources are to be managed.

The HttpServlet class extends GenericServlet, and provides an HTTP specific implementation of the Servlet interface. This class containing the following methods:
i. The service( ) method:
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException,

This method Receives standard HTTP requests from the public service method and dispatches them to the doXXX methods defined in this class. This method is an HTTP-specific version of the Servlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse) method. There's no need to override this method.

ii. The doXXX( ) Methods:
a. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException,

b. protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException,

c. protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException,

d. protected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws ServletException,

e. protected void doOptions(HttpServletRequest req, HttpServletResponse resp) throws ServletException,

f. protected void doTrace(HttpServletRequest req, HttpServletResponse resp) throws ServletException,
The signature of the each of these doXXX() methods is the same as the protected service() method.
The HttpServlet class provides proper implementations for the TRACE and OPTIONS methods, and there is no need to override doTrace() and doOptions().
For the other five methods, the HttpServlet class provides implementations that return HTTP errors. For the case of HTTP 1.0 complaint containers, these method return an HTTP error with status code 400, indicating that the request sent by the client is syntactically incorrect. For HTTP 1.1 complaint containers, these methods returns an HTTP error with status code 405, indicating that the requested HTTP method is not allowed for this Servlet. This class uses the getProtocol() method of the javax.servlet.ServletRequest interface to determine the protocol.
iii. The getLastModified() Method:
protected long getLastModified(HttpServletRequest req)

This method returns the time the HttpServletRequest object was last modified, in milliseconds since midnight January 1, 1970 GMT. If the time is unknown, this method returns a negative number (the default).
Servlets that support HTTP GET requests and can quickly determine their last modification time should override this method. This makes browser and proxy caches work more effectively, reducing the load on server and network resources.

Posted by: Sankhadip

Contact Sankhadip Contact Sankhadip

GenericServlet has service() method, to handle client request.
HttpServlet extends GenericServlet.
HttpServlet has init(),service(),destroy() methods.Both are abstract.

Posted by: Selva.D

Contact Selva.D Contact Selva.D

If you have the better answer, then send it to us. We will display your answer after the approval.
Rules to Post Answers in

  • There should not be any Spelling Mistakes.
  • There should not be any Gramatical Errors.
  • Answers must not contain any bad words.
  • Answers should not be the repeat of same answer, already approved.
  • Answer should be complete in itself.
  • Name :*
    Email Id :*
    Answer :*
    Verification Code Code Image - Please contact webmaster if you have problems seeing this image code Not readable? Load New Code
    Process Verification Enter the above shown code: *
    Inform me about updated answers to this question

    Related Questions
    View Answer
    What are the differences between GET and POST service methods?
    View Answer
    What is the difference between ServletContext and ServletConfig?
    View Answer
    Can I invoke a JSP error page from a servlet?
    View Answer
    Can I just abort processing a JSP?
    View Answer
    What is a better approach for enabling thread-safe servlets and JSPs? SingleThreadModel Interface or Synchronization?
    View Answer
    If you want a servlet to take the same action for both GET and POST request, what should you do?
    View Answer
    What is the servlet life cycle?
    View Answer
    Which code line must be set before any of the lines that use the PrintWriter?
    View Answer
    How HTTP Servlet handles client requests?
    View Answer
    What is the Servlet Interface?
    View Answer
    When a servlet accepts a call from a client, it receives two objects. What are they?
    View Answer
    What information that the ServletRequest interface allows the servlet access to?
    View Answer
    What information that the ServletResponse interface gives the servlet methods for replying to the client?
    View Answer
    What is the servlet?
    View Answer
    What are the uses of Servlets?
    View Answer
    What are the advantages using servlets than using CGI?
    View Answer
    What is the difference between servlets and applets?
    View Answer
    Difference between single thread and multi thread model serv
    View Answer

    Please Note: We keep on updating better answers to this site. In case you are looking for Jobs, Pls Click Here - Best Freshers & Experienced Jobs Website.

    View ALL Servlet Interview Questions & Answers

    User Options
    Latest 20 Questions
    How to Retrieve a Cookie Value ?
    How to Create a Cookie?
    What is ViewState ?
    What are different methods of session maintenance in ASP.NET?
    What is cross cutting concern and concern in spring AOP ?
    What are the important beans lifecycle methods ?
    Explain the advantages of using DAO module?
    What is SQLProvider ?
    How struts application can be integrated with spring?
    What are the advantages of spring framework?
    What is ?Throws advice? in Spring ?
    What is Metadata Autoproxying ?
    Describe about DAO in Spring framework ?
    What is called an Advice ?
    What is IOC?
    What are the types of Dependency Injection?
    What are the different Modes of Autowiring ?
    Define Application context module?
    Why Spring framework is needed?
    What is called Spring MVC?

    Copyright ©2003-2016, All Rights Reserved.
    Privacy Policy | Terms and Conditions

    Download Yahoo Messenger | Placement Papers| FREE SMS | ASP .Net Tutorial | Web Hosting | Dedicated Servers | C Interview Questions & Answers

    Testing Articles | Testing Books | Testing Certifications | Testing FAQs | Testing Downloads | Testing Interview Questions | Testing Jobs | Testing Training Institutes

    Cache = 0 Seconds