Prepare Interview

Mock Exams

Make Homepage

Bookmark this page

Subscribe Email Address

Servlets Interview Questions and Answers

Test your skills through the online practice test: Servlets Quiz Online Practice Test

Related differences

JSP vs Servlets

Ques 1. What is the difference between an application server and a Web server?

Taking a big step back, a Web server serves pages for viewing in a Web browser, while an application server provides methods that client applications can call. A little more precisely, you can say that:

A Web server exclusively handles HTTP requests, whereas an application server serves business logic to application programs through any number of protocols.

Let's examine each in more detail.

The Web server:
A Web server handles the HTTP protocol. When the Web server receives an HTTP request, it responds with an HTTP response, such as sending back an HTML page. To process a request, a Web server may respond with a static HTML page or image, send a redirect, or delegate the dynamic response generation to some other program such as CGI scripts, JSPs (JavaServer Pages), servlets, ASPs (Active Server Pages), server-side JavaScripts, or some other server-side technology. Whatever their purpose, such server-side programs generate a response, most often in HTML, for viewing in a Web browser.

Understand that a Web server's delegation model is fairly simple. When a request comes into the Web server, the Web server simply passes the request to the program best able to handle it. The Web server doesn't provide any functionality beyond simply providing an environment in which the server-side program can execute and pass back the generated responses. The server-side program usually provides for itself such functions as transaction processing, database connectivity, and messaging.

While a Web server may not itself support transactions or database connection pooling, it may employ various strategies for fault tolerance and scalability such as load balancing, caching, and clustering features oftentimes erroneously assigned as features reserved only for application servers.

The application server:
As for the application server, according to our definition, an application server exposes business logic to client applications through various protocols, possibly including HTTP. While a Web server mainly deals with sending HTML for display in a Web browser, an application server provides access to business logic for use by client application programs. The application program can use this logic just as it would call a method on an object (or a function in the procedural world).

Such application server clients can include GUIs (graphical user interface) running on a PC, a Web server, or even other application servers. The information traveling back and forth between an application server and its client is not restricted to simple display markup. Instead, the information is program logic. Since the logic takes the form of data and method calls and not static HTML, the client can employ the exposed business logic however it wants.

In most cases, the server exposes this business logic through a component API, such as the EJB (Enterprise JavaBean) component model found on J2EE (Java 2 Platform, Enterprise Edition) application servers. Moreover, the application server manages its own resources. Such gate-keeping duties include security, transaction processing, resource pooling, and messaging. Like a Web server, an application server may also employ various scalability and fault-tolerance techniques.

Is it helpful? Add Comment View Comments

Ques 2. What are advantages of servlets over CGI?

In CGI for every request there is a new process started which is quiet an overhead. In servlets JVM stays running and handles each request using a light weight thread. In CGI if there are 5000 request then 5000 CGI program is loaded in memory while in servlets there are 5000 thread and only one copy of the servlet class.

Is it helpful? Add Comment View Comments

Ques 3. What are the two important APIs in Servlets?

Two important packages are required to build servlet "javax.servlet" and "javax.servlet.http". They form the core of Servlet API. Servlets are not part of core Java but are standard extensions provided by Tomcat.

Is it helpful? Add Comment View Comments

Ques 4. Can you explain in detail "javax.servlet" package?

javax.servlet package has interfaces and classes which define a framework in which servlets can operate. Let's first make a walk through of all the interfaces and methods and its description.

Interfaces in javax.servlet :-
Servlet Interface: This interface has the init( ), service( ), and destroy( ) methods that are called by the server during the life cycle of a servlet. Following are the method in Servlet interface :-

void destroy( ):- Executed when servlet is unloaded from the web server memory.

ServletConfig getServletConfig() :- Returns back a ServletConfig object that contains initialization data.

String getServletInfo( ):- Returns a string describing the servlet.

init method :- Called for first time when the servlet is initialized by the web server.

void service() method :- Called to process a request from a client.

ServletConfig Interface:- This interface is implemented by the servlet container. Servlet can access any configuration data when its loaded. The methods declared by this interface are summarized here: Following are the methods in ServletConfig interface:-

ServletContext getServletContext():- Gives the servlet context.

String getInitParameter(String param):- Returns the value of the initialization parameter named param.

Enumeration getInitParameterNames():- Returns an enumeration of all initialization parameter names.
String getServletName():- Returns the name of the invoking servlet.


Is it helpful? Add Comment View Comments

Ques 5. What's the use of ServletContext?

ServletContext Interface:  It gives information about the environment. It represents a Servlet's view of the Web Application.Using this interface servlet can access raw input streams to Web Application resources, virtual directory translation, a common mechanism for logging information, and an application scope for binding objects.

Is it helpful? Add Comment View Comments

Most helpful rated by users:

©2024 WithoutBook