Q:Explain the life cycle methods of a Servlet.
A:The
javax.servlet.Servlet interface defines the three methods known as
life-cycle method. public void init(ServletConfig config) throws
ServletException public void service( ServletRequest req,
ServletResponse res) throws ServletException, IOException public void
destroy() First the servlet is constructed, then initialized wih the
init() method. Any request from client are handled initially by the
service() method before delegating to the doXxx() methods in the case
of HttpServlet. The servlet is removed from service, destroyed with the
destroy() methid, then garbaged collected and finalized.
Q:What
is the difference between the getRequestDispatcher(String path) method
of javax.servlet.ServletRequest interface and
javax.servlet.ServletContext interface?
A:The
getRequestDispatcher(String path) method of
javax.servlet.ServletRequest interface accepts parameter the path to
the resource to be included or forwarded to, which can be relative to
the request of the calling servlet. If the path begins with a "/" it is
interpreted as relative to the current context root. The
getRequestDispatcher(String path) method of
javax.servlet.ServletContext interface cannot accepts relative paths.
All path must sart with a "/" and are interpreted as relative to curent
context root.
Q:Explain the directory structure of a web application.
A:The
directory structure of a web application consists of two parts. A
private directory called WEB-INF A public resource directory which
contains public resource folder. WEB-INF folder consists of 1. web.xml
2. classes directory 3. lib directory
Q:What are the common mechanisms used for session tracking?
A:Cookies SSL sessions URL- rewriting
Q:Explain ServletContext.
A:ServletContext
interface is a window for a servlet to view it's environment. A servlet
can use this interface to get information such as initialization
parameters for the web applicationor servlet container's version. Every
web application has one and only one ServletContext and is accessible
to all active resource of that application.
Q:What is preinitialization of a servlet?
A:A
container doesnot initialize the servlets ass soon as it starts up, it
initializes a servlet when it receives a request for that servlet first
time. This is called lazy loading. The servlet specification defines
the element, which can be specified in the deployment descriptor to
make the servlet container load and initialize the servlet as soon as
it starts up. The process of loading a servlet before any request comes
in is called preloading or preinitializing a servlet.
Q:What is the difference between Difference between doGet() and doPost()?
A:A
doGet() method is limited with 2k of data to be sent, and doPost()
method doesn't have this limitation. A request string for doGet() looks
like the following:
http://www.allapplabs.com/svt1?p1=v1&p2=v2&...&pN=vN
doPost() method call doesn't need a long text tail after a servlet name
in a request. All parameters are stored in a request itself, not in a
request string, and it's impossible to guess the data transmitted to a
servlet only looking at a request string.
Q:What is the difference between HttpServlet and GenericServlet?
A:A
GenericServlet has a service() method aimed to handle requests.
HttpServlet extends GenericServlet and adds support for doGet(),
doPost(), doHead() methods (HTTP 1.0) plus doPut(), doOptions(),
doDelete(), doTrace() methods (HTTP 1.1). Both these classes are
abstract.
Q:What is the difference between ServletContext and ServletConfig?
A:ServletContext:
Defines a set of methods that a servlet uses to communicate with its
servlet container, for example, to get the MIME type of a file,
dispatch requests, or write to a log file.The ServletContext object is
contained within the ServletConfig object, which the Web server
provides the servlet when the servlet is initialized ServletConfig: The
object created after a servlet is instantiated and its default
constructor is read. It is created to pass initialization information
to the servlet.