Q) What 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.
Q )What 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.
Q) What are the different ways for session tracking?
A)Cookies, URL rewriting, HttpSession, Hidden form fields
Q) What 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
Q) Difference 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.
Q) What 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.
Q) What 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.
Q) What is servlet context ?
Q) What 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.
Q) What is a servlet ?
A)servlet is a java program that runs inside a web container.
Q) Can 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.
Q) How many JSP scripting elements are there and what are they?
A)There are three scripting language elements: declarations, scriptlets, expressions.
Q) How 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.
Q) How 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.
Q) What 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.
Q) What are the lifecycle of JSP?
A)When presented with JSP page the JSP engine does the following 7 phases.
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.
Q) What are context initialization parameters?
A)Context initialization parameters are specified by the <context-param> in the web.xml file, these are initialization parameter for the whole application.
Q) What 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.
Q) What 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.
Q) What 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 <jsp:useBean>. 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.