JSP Interview Questions
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.
Developed and released by Sun Microsystems in 1999, JSP is similar to ASP and PHP, it uses the Java programming language for its workability. A compatible web server with a servlet container, such as Jetty or Apache Tomcat, is required to run JSP.
The program actually runs with a .jsp filename extension and application/JSP internet media type. The latest version of JSP is its 2.3 version which runs with a 4.0 version of servlet compatibility.
Here below, we are mentioning a set of crucial JSP interview questions and answers best suited for experienced professionals as well as newbies to this niche. These JSP interview questions are specially curated highly experienced industry professionals to help candidates in their future job success.
Advantages of JSP
- Significant performance due to the allowance of embedding Dynamic Elements in HTML Pages.
- Easily combined with static templates, XML or HTML fragments, with code that generate dynamic contents.
- Web authors cab change or edit the fixed template portions of web pages without affecting the application logic.
- It offers a wide range of API to highly increase the result-oriented functionality.
Best JSP Interview Questions And Answers
- What is JSP? Explain
- Explain the advantages in JSP?
- Explain the difference between servlet and JSP?
- Explain JSP lifecycle methods?
- What are different types of comments used in JSP?
- Define Scriptlet, Expression and Declaration in JSP?
- Explain the JSP implicit objects?
- What do you mean by JSP Directives?
- Explain the difference between include directive and include action in JSP?
- How we can include the result of another page in JSP?
- List the different scope values for the <jsp:useBean> tag in JSP?
- What is <jsp:useBean> in JSP?
- Explain the difference between ServletContext and PageContext in JSP?
- What is the differences between the JSP custom tags and java beans?
- What do you mean by JSTL?
- List all tags that are provided in JSTL?
- How we can disable session in JSP?
- What are the steps for creating custom tags in JSP?
- How we can configure init params in JSP?
- Explain the difference between JspWriter and Servlet PrintWriter in JSP?
- What do you mean by Custom Tag in JSP?
JSP or JavaServer Pages is a software technology used to develop to dynamically 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
- It allows tag-based programming
- Suitable for both Java and non-Java programmers
- Allows developers to use separate presentation logic
- Highly increases readability of code because of tags
- Easy to learn and apply
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:
- jspInit() : It operates to initialize the servlet instance. Before calling any other method, its call is made.
- _jspService() : It passes the request and the response subjects. You can’t override the method.
- jspDestroy(): The container calls this when its instance is about to destroy.
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:
- Include directive is processed at the translation time, but include action is processed at the request time.
- Include directive uses both absolute and relative path, whereas include action only uses a relative path.
- Include directive only uses the contents of the resource, while include action process dynamic content resource.
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
- Include directive
- jsp:include element
- Codas and preludes
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.
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.
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.