- World's Largest Collection of Interview Questions
Start Your Own website Now
Sponsored Links

Interview Questions
Our Services

Get 9,000 Interview Questions & Answers in an eBook.

  • 9500+ Pages
  • 9000 Question & Answers
  • All Tech. Categories
  • 14 MB Content

    Get it now !!

    Send your Resume to 6000 Companies

    Question :
    What is the difference between GenericServlet and HttpServlet?
    Category Servlet Interview Questions
    Rating (0.4) By 1470 users
    Added on 10/25/2004
    Views 4771
    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

    Generic servlet is the general purpouse servlet . where as Http servlet is protocal specific.

    http servlet is extends Generic servlet
    http have more methods than Generic servlet like do****()

    Posted by: JAGADEESH REDDY    


    Generic Servlet is the old technique it has 3 life cycle mehtods
    here service() method wil handle the client request.
    HttpServlet is the new technique it has 5 life cycle methods
    class HttpServlet extends Generic servlet{

    In Generic servlet Service() method is abstract method
    eg: abstract public void Service(ServletRequest req,ServletResponse res)throws ServletException,IOException
    In HttpServlet Service method is not a abstract method.
    pubic void Service(HttpServletRequest req,HttpServletResponse res)throws ServletException,IOException

    Posted by: muttu    

    Contact muttu Contact muttu

    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

    User Options
    Sponsored Links

    Copyright ©2003-2015, 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.032227 Seconds