Servlet Interview Questions and Answers
What is Servlet?
A servlet is a Java technology-based Web component,
managed by a container called servlet container or
servlet engine, that generates dynamic content and
interacts with web clients via a request\/response
Why is Servlet so popular?
Because servlets are platform-independent Java classes
that are compiled to platform-neutral byte code that can
be loaded dynamically into and run by a Java
technology-enabled Web server.
What is servlet container?
The servlet container is a part of a Web server or
application server that provides the network services
over which requests and responses are sent, decodes
MIME-based requests, and formats MIME-based responses. A
servlet container also contains and manages servlets
through their lifecycle.
When a client request is sent to the servlet container,
how does the container choose which servlet to invoke?
The servlet container determines which servlet to invoke
based on the configuration of its servlets, and calls it
with objects representing the request and response.
If a servlet is not properly initialized, what exception
may be thrown?
During initialization or service of a request, the
servlet instance can throw an UnavailableException or a
Given the request path below, which are context path,
servlet path and path info?
context path: /bookstore
servlet path: /education
path info: /index.html
What is filter? Can filter be used as request or
A filter is a reusable piece of code that can transform
the content of HTTP requests,responses, and header
information. Filters do not generally create a response
or respond to a request as servlets do, rather they
modify or adapt the requests for a resource, and modify
or adapt responses from a resource.
When using servlets to build the HTML, you build a
DOCTYPE line, why do you do that?
I know all major browsers ignore it even though the HTML
3.2 and 4.0 specifications require it. But building a
DOCTYPE line tells HTML validators which version of HTML
you are using so they know which specification to check
your document against. These validators are valuable
debugging services, helping you catch HTML syntax
What is new in ServletRequest interface ? (Servlet 2.4)
The following methods have been added to ServletRequest
public int getRemotePort()
public java.lang.String getLocalName()
public java.lang.String getLocalAddr()
public int getLocalPort()
Request parameter How to find whether a parameter exists
in the request object?
1.boolean hasFoo = !(request.getParameter("foo") == null
2. boolean hasParameter =
(which works in Servlet 2.3+)
How can I send user authentication information while
making URL Connection?
You'll want to use HttpURLConnection.setRequestProperty
and set all the appropriate headers to HTTP
Can we use the constructor, instead of init(), to
Yes , of course you can use the constructor instead of
init(). There's nothing to stop you. But you shouldn't.
The original reason for init() was that ancient versions
of Java couldn't dynamically invoke constructors with
arguments, so there was no way to give the constructur a
ServletConfig. That no longer applies, but servlet
containers still will only call your no-arg constructor.
So you won't have access to a ServletConfig or
How can a servlet refresh automatically if some new data
has entered the database?
You can use a client-side Refresh or Server Push
The code in a finally clause will never fail to execute,
Using System.exit(1); in try block will not allow
finally code to execute.
Page Numbers :