Thursday, June 17, 2010

JSP, Servlets Interview questions

1QWhat is the difference between JSP and Servlets ?
A

JSP is used mainly for presentation only. A JSP can only be HttpServlet that means the only supported protocol in JSP is HTTP. But a servlet can support any protocol like HTTP, FTP, SMTP etc.

2QWhat is difference between custom JSP tags and beans?
A

Custom JSP tag is a tag you defined. You define how a tag, its attributes and its body are interpreted, and then group your tags into collections called tag libraries that can be used in any number of JSP files. To use custom JSP tags, you need to define three separate components: the tag handler class that defines the tag's behavior ,the tag library descriptor file that maps the XML element names to the tag implementations and the JSP file that uses the tag library

JavaBeans are Java utility classes you defined. Beans have a standard format for Java classes. You use tags

Custom tags and beans accomplish the same goals -- encapsulating complex behavior into simple and accessible forms. There are several differences:

Custom tags can manipulate JSP content; beans cannot. Complex operations can be reduced to a significantly simpler form with custom tags than with beans. Custom tags require quite a bit more work to set up than do beans. Custom tags usually define relatively self-contained behavior, whereas beans are often defined in one servlet and used in a different servlet or JSP page. Custom tags are available only in JSP 1.1 and later, but beans can be used in all JSP 1.x versions.

3QWhat are the different ways for session tracking?
A

Cookies, URL rewriting, HttpSession, Hidden form fields

4QWhat mechanisms are used by a Servlet Container to maintain session information?
A

Cookies, URL rewriting, and HTTPS protocol information are used to maintain session information

5QDifference between GET and POST
A

In GET your entire form submission can be encapsulated in one URL, like a hyperlink. query length is limited to 255 characters, not secure, faster, quick and easy. The data is submitted as part of URL.

In POST data is submitted inside body of the HTTP request. The data is not visible on the URL and it is more secure.

6QWhat is session?
A

The session is an object used by a servlet to track a user's interaction with a Web application across multiple HTTP requests. The session is stored on the server.

7QWhat is servlet mapping?
A

The servlet mapping defines an association between a URL pattern and a servlet. The mapping is used to map requests to Servlets.

8QWhat is servlet context ?
A

The servlet context is an object that contains a information about the Web application and container. Using the context, a servlet can log events, obtain URL references to resources, and set and store attributes that other servlets in the context can use.

9QWhat is a servlet ?
A

servlet is a java program that runs inside a web container.

10QCan we use the constructor, instead of init(), to initialize servlet?
A

Yes. But you will not get the servlet specific things from constructor. 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 constructor 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 ServletContext.

12QHow many JSP scripting elements are there and what are they?
A

There are three scripting language elements: declarations, scriptlets, expressions.

13QHow do I include static files within a JSP page?
A

Static resources should always be included using the JSP include directive. This way, the inclusion is performed just once during the translation phase.

14QHow can I implement a thread-safe JSP page?
A

You can make your JSPs thread-safe adding the directive <%@ page isThreadSafe="false" % > within your JSP page.

15QWhat is the difference in using request.getRequestDispatcher() and context.getRequestDispatcher()?
A

In request.getRequestDispatcher(path) in order to create it we need to give the relative path of the resource. But in resourcecontext.getRequestDispatcher(path) in order to create it we need to give the absolute path of the resource.

16QWhat are the lifecycle of JSP?
A

When presented with JSP page the JSP engine does the following 7 phases.

  • Page translation: -page is parsed, and a java file which is a servlet is created.

  • Page compilation: page is compiled into a class file

  • Page loading : This class file is loaded.

  • Create an instance :- Instance of servlet is created

  • jspInit() method is called

  • _jspService is called to handle service calls

  • _jspDestroy is called to destroy it when the servlet is not required.

17QWhat are context initialization parameters?
A

Context initialization parameters are specified by the in the web.xml file, these are initialization parameter for the whole application.

18QWhat is a Expression?
A

Expressions are act as place holders for language expression, expression is evaluated each time the page is accessed. This will be included in the service method of the generated servlet.

19QWhat is a Declaration?
A

It declares one or more variables or methods for use later in the JSP source file. A declaration must contain at least one complete declarative statement. You can declare any number of variables or methods within one declaration tag, as long as semicolons separate them. The declaration must be valid in the scripting language used in the JSP file. This will be included in the declaration section of the generated servlet.

20QWhat is a Scriptlet?
A

A scriptlet can contain any number of language statements, variable or expressions that are valid in the page scripting language. Within scriptlet tags, you can declare variables to use later in the file, write expressions valid in the page scripting language, use any of the JSP implicit objects or any object declared with a . Generally a scriptlet can contain any java code that are valid inside a normal java method. This will become the part of generated servlet's service method.

No comments:

Post a Comment