JavaServer Pages or JSP is a software-based technology that helps developers in creating dynamically generated web pages based on XML or HTML. It uses servlet containers, small programs to control the content and appearance of the web page. JSP technology can also be used to share information across pages using a response and request objects. With the help of JavaServer Page, you can easily access JavaBeans objects and make a separation in the web applications as per the business logic. To know more about JavaServer Page, we are mentioning some of the JSP Interview Questions are useful for all types of readers.
Here in this article, we will be listing frequently asked JSP Interview Questions and Answers with the belief that they will be helpful for you to gain higher marks. Also, to let you know that this article has been written under the guidance of industry professionals and covered all the current competencies.
JSP or JavaServer Pages is a software technology used to develop to dynamic interactive web pages based on HTML or XML while controlling the content or appearance of web pages with the use of servlet containers. It has s wide a range of applications and separates business logic from the presentation layer.
Using JSP has numbers of benefits, such as
JSP is a dynamic content generating webpage scripting language, whereas servlets are programs that operate on a web or application server and act as a middle layer between a request coming from applications on the HTTP server, or a web browser or other HTTP client and database.
The JSP lifecycle methods are as following:
Basically, there are two types of comments allowed in the JSP, hidden comments and output comments.
The hidden comments of JSP don’t appear in the generated output in the HTML (ex: <%-- This is hidden comment --%>), while output comments arrear in the generated output ex: <!-- This is output comment -->).
A JSP expression is used to put the Java values directly into the output. It has the form of <%= Java expression %>. JSP scriptlets are more than the simple expression and used to insert complex code into the service() method of the generated servlet. Whereas, a JSP declaration defines fields or methods that get inserted into the main body of the servlet class.
Created by JSP Engine during translation phase, while translating JSP to Servlet, JSP implicit objects are crafted inside service method and can be used directly within scriptlet without initializing and declaring them. In JSP, a total number of 9 implicit objects are available as following, Out, Request, Response, Session, Application, Exception, Page, pageContext, and config.
These are the messages to JSP container, and they provide global information for an entire JSP page. JSP directives are used by developers to give special instruction to a container for translation of JSP to servlet code. These directives can contain many attributes by comma separated as key-value pairs. JSP directives are described in <%@ %> tags.
Here are a few crucial differences between these two:
So many mechanisms are available through which the results of another page can be included in JSP.
There of primary mechanisms used by developers are
This tag is required to use any Java object present in the JSP page.
The scope values for
This action tag is used to instantiate or locate a bean class. Depending on the scope, it doesn’t create the bean if the bean object of the Bean class is already created. This JSP action tag has five attributes, which includes Id, Scope, Class, Type and Bean Name.
In JSP, the ServletContext shares information about the container in which the servlet is running in. This can be set up in the web application descriptor. There can be only one v ServletContext per web application. Compared to this, the PageContext gives the servlet information about the request that it is currently managing and contains information about the request, the response object, the session, and also a reference to the ServletContext of the web application.
Based on function, JSTL tags are categorized into five types, which are Core Tags, Formatting and Localisation Tags, SQL Tags, XML Tags and Functions Tags.
The session in a JSP page can be disabled by setting the session attributes to false. The following can be exampled to disable the session object using page directive: <%@ page session="false" %>
To create a custom tag in JSP, use the following steps.
Developers can configure init params in JSP similar to the servlet in the web.xml file. We have to configure JSP init-params with servlet and servlet-mapping element. Put the JSP page location in the JSP-file element.
JSP PrintWriter is object directly responsible for writing the content in response, whereas JspWriter uses the PrintWriter object behind the scene while offering buffer support. After the buffer support is flushed or full, JspWriter uses the object in PrintWriter to write the content into a response.
As JavaScript is client-side script and JSP is a server-side script, developers can attach a form validation to a JSP page to redirect JavaScript content and HTML page.
A JSP custom tag is a user-defined JSP language element. A JSP page which contains a custom tag is generally transcribed into a servlet. Then, the custom tag is converted to operations on an object called a tag handler. The custom tags can be created with JSP tag extensions that let developers insert these new tags directly into a JSP.