300+ [LATEST] Jsp Interview Questions and Answers

Q1. How Is Jsp Used In The Mvc Model

JSP is usually used for presentation in the MVC pattern (Model View Controller ) i.e. it plays the role of the view. The controller deals with calling the model and the business classes which in turn get the data, this data is then presented to the JSP for rendering on to the client.

Q2. What Is A Scriptlet?

A scriptlet can contain any number of language statements, variable or method declarations, or expressions that are valid in the page scripting language.Within scriptlet tags, you can

1.Declare variables or methods to use later in the file (see also Declaration).
2.Write expressions valid in the page scripting language (see also Expression).
3.Use any of the JSP implicit objects or any object declared with a tag. You must write plain text, HTML-encoded text, or other JSP tags outside the scriptlet.

Scriptlets are executed at request time, when the JSP engine processes the client request. If the scriptlet produces output, the output is stored in the out object, from which you can display it.

Q3. What Is The Difference Between Directive Include And Jsp Include?

include directive :

  • The file gets included at the compile time.
  • it is static in nature.output comes with jsp page but whole file contains is included in jsp then compilation is done.

action tag :

  • The file gets included at the run time. This is faster.
  • it is dynamic in nature.output of yhe file willbe included in the jsp file.

Q4. How Does Jsp Handle Runtime Exceptions?

Using errorPage attribute of page directive and also we need to specify isErrorPage=true if the current page is intended to URL redirecting of a JSP.

Q5. What Are The Steps Required In Adding A Jsp Tag Libraries?

Create a TLD file and configure the required class Information.
Create the Java Implementation Source extending the JSP Tag Lib Class (TagSupport).
Compile and package it as loosed class file or as a jar under lib folder in Web Archive File for Class loading.
Place the TLD file under the WEB-INF folder.
Add reference to the tag library in the web.xml file.

Q6. Explain The Life-cycle Mehtods In Jsp?

The generated servlet class for a JSP page implements the HttpJspPage interface of the javax.servlet.jsp package. Hte HttpJspPage interface extends the JspPage interface which inturn extends the Servlet interface of the javax.servlet package. the generated servlet class thus implements all the methods of the these three interfaces. The JspPage interface declares only two mehtods – jspInit() and jspDestroy() that must be implemented by all JSP page regardless of the client-server protocol. However the JSP specification has provided the HttpJspPage interfaec specifically for the JSp pages serving HTTP requests.

This interface declares one method_jspService()

The jspInit()- The container calls the jspInit() to initialize te servlet instance.It is called before any other method, and is called only once for a servlet instance.

The _jspservice()- The container calls the _jspservice() for each request, passing it the request and the response objects.

The jspDestroy()- The container calls this when it decides take the instance out of service. It is the last method called n the servlet instance.

Q7. How Cookies Is Deleted In Jsp?

There are two ways by which the cookies can be deleted in JSP. Firstly, by setting the setMaxAge() of the cookie class to zero. And secondly by setting a timer in the header file that is response. setHeader(expires {Mention the time} attribute), which will delete the cookies after that prescribed time.

Q8. In The Servlet 2.4 Specification Singlethreadmodel Has Been Deprecated, Why?

Because it is not practical to have such model. Whether you set isThreadSafe to true or false, you should take care of concurrent client requests to the JSP page by synchronizing access to any shared objects defined at the page level.

Q9. What Are The Jsp Standard Actions?

• The JSP standard actions affect the overall runtime behavior of a JSP page and also the response sent back to the client.
• They can be used to include a file at the request time, to find or instantiate a JavaBean, to forward a request to a new page, to generate a browser-specific code, etc.
• Ex: include, forward, useBean,etc.

Q10. Outline The Difference Between Java Server Page Forward And Servlet Forward Method?

The only minor difference between both the methods is that Java Server page forward method can’t forward to another JSP page in another web application or container whereas servlet forward method can do so.

Q11. What Are The Lifecycle Phases Of A Jsp?

JSP page looks like a HTML page but is a servlet. When presented with JSP page the JSP engine does the following 7 phases.
1. Page trlation: -page is parsed, and a java file which is a servlet is created.
2. Page compilation: page is compiled into a class file
3. Page loading : This class file is loaded.
4. Create an instance :- Instance of servlet is created
5. jspInit() method is called
6. _jspService is called to handle service calls
7. _jspDestroy is called to destroy it when the servlet is not required.

Q12. Difference Between Get And Post?

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.

Q13. Why Are Jsp Pages The Preferred Api For Creating A Web-based Client Program?

Because no plug-ins or security policy files are needed on the client systems(applet does). Also, JSP pages enable cleaner and more module application design because they provide a way to separate applications programming from web page design. This me personnel involved in web page design do not need to understand Java programming language syntax to do their jobs.

Q14. Differentiate Between Pagecontext.include And Jsp:include?

The standard action and thepageContext.include() method are both used to include resources at runtime. However, thepageContext.include() method always flushes the output of the current page before including the other components, whereas flushes the output of the current page only if the value = of flush is explicitly set to true as follows:

Q15. How Do You Delete A Cookie Within A Jsp?

Cookie mycook = new Cookie(“name”,”value”);
response.addCookie(mycook);
Cookie killmycook = new Cookie(“mycook”,”value”);
killmycook.setMaxAge(0);
killmycook.setPath(“/”);
killmycook.addCookie(killmycook);

Q16. What Is Jsp Page?

A JSP page is a text-based document that contains two types of text: static template data, which can be expressed in any text-based format such as HTML, SVG, WML, and XML, and JSP elements, which construct dynamic content.

Q17. What Is Jsp? Describe Its Concept?

JSP is a technology that combines HTML/XML markup languages and elements of Java programming Language to return dynamic content to the Web client, It is normally used to handle Presentation logic of a web application, although it may have business logic.

Q18. What Is A Trlation Unit?

JSP page can include the contents of other HTML pages or other JSP files. This is done by using the include directive. When the JSP engine is presented with such a JSP page it is converted to one servlet class and this is called a trlation unit, Things to remember in a trlation unit is that page directives affect the whole unit, one variable declaration cannot occur in the same unit more than once, the standard action jsp:useBean cannot declare the same bean twice in one unit.

Q19. Can We Override The Jspinit(), _jspservice() And Jspdestroy() Methods?

We can override jspinit() and jspDestroy() methods but not _jspService().

Q20. What Is The Jsp:plugin Action ?

This action lets you insert the browser-specific OBJECT or EMBED element needed to specify that the browser run an applet using the Java plugin.

Q21. What Is The Standard Action?

The standard action enables the current JSP page to include a static or a dynamic resource at runtime. In contrast to the include directive, the include action is used for resources that change frequently. The resource to be included must be in the same context.The syntax of the standard action is as follows:
 
Here, targetPage is the page to be included in the current JSP.

Q22. What Is Jsp?

Let’s consider the wer to that from two different perspectives: that of an HTML designer and that of a Java programmer.

If you are an HTML designer, you can look at JSP technology as extending HTML to provide you with the ability to seamlessly embed snippets of Java code within your HTML pages. These bits of Java code generate dynamic content, which is embedded within the other HTML/XML content you author. Even better, JSP technology provides the me by which programmers can create new HTML/XML tags and JavaBe components, which provide new features for HTML designers without those designers needing to learn how to program.

Note: A common misconception is that Java code embedded in a JSP page is trmitted with the HTML and executed by the user agent (such as a browser). This is not the case. A JSP page is trlated into a Java servlet and executed on the server. JSP statements embedded in the JSP page become part of the servlet generated from the JSP page. The resulting servlet is executed on the server. It is never visible to the user agent. If you are a Java programmer, you can look at JSP technology as a new, higher-level me to writing servlets. Instead of directly writing servlet classes and then emitting HTML from your servlets, you write HTML pages with Java code embedded in them. The JSP environment takes your page and dynamically compiles it. Whenever a user agent requests that page from the Web server, the servlet that was generated from your JSP code is executed, and the results are returned to the user.

Q23. What Are Jsp Declarations?

As the name implies, JSP declarations are used to declare class variables and methods in a JSP page. They are initialized when the class is initialized. Anything defined in a declaration is available for the whole JSP page. A declaration block is enclosed between the <%! and %> tags. A declaration is not included in theservice() method when a JSP is trlated to a servlet.

Q24. What Are The Implicit Objects?

Implicit objects are objects that are created by the web container and contain information related to a particular request, page, or application. They are:
–request
–response
–pageContext
–session
–application
–out
–config
–page
–exception

Q25. The Code In A Finally Clause Will Never Fail To Execute, Right?

Using System.exit(1); in try block will not allow finally code to execute.

Q26. How Can My Application Get To Know When A Httpsession Is Removed?

Define a Class HttpSessionNotifier which implements HttpSessionBindingListener and implement the functionality what you need in valueUnbound() method.
Create an instance of that class and put that instance in HttpSession.

Q27. What Are Stored Procedures? How Is It Useful?

A stored procedure is a set of statements/commands which reside in the database. The stored procedure is pre-compiled and saves the database the effort of parsing and compiling sql statements every time a query is run. Each database has its own stored procedure language, usually a variant of C with a SQL preproceesor. Newer versions of db’s support writing stored procedures in Java and Perl too. Before the advent of 3-tier/n-tier architecture it was pretty common for stored procs to implement the business logic( A lot of systems still do it). The biggest advantage is of course speed. Also certain kind of data manipulations are not achieved in SQL. Stored procs provide a mechanism to do these manipulations. Stored procs are also useful when you want to do Batch updates/exports/houseKeeping kind of stuff on the db. The overhead of a JDBC Connection may be significant in these cases.

Q28. What Class.forname Will Do While Loading Drivers?

It is used to create an instance of a driver and register it with the DriverManager. When you have loaded a driver, it is available for making a connection with a DBMS.

Q29. What Is Declaration In Jsp?

In Java Server pages Declaration is used to declare and define variables and methods that can be used in the Java Server Pages. The variable which is declared is initialized once and it retain its value for every subsequent client request.

Q30. How To Override The Lifecycle Methods Of Jsp?

Lifecycle method jspService() cannot be overridden within a JSP page however methods like jspInit() and jspDestroy() can be overridden within a JSP page. Method jspInit() is used for allocating resource while method jspDestroy() is used to free allocated resource. But it should be kept in mind that during the lifecycle of a Java Server Page both the method jsplnit() and jspDestroy() is executed once and are declared as JSP declarations.

Q31. Can I Stop Jsp Execution While In The Midst Of Processing A Request?

Yes. Preemptive termination of request processing on an error condition is a good way to maximize the throughput of a high-volume JSP engine. The trick (assuming Java is your scripting language) is to use the return statement when you want to terminate further processing.

Q32. Can You Make Use Of A Servletoutputstream Object From Within A Jsp Page?

No. You are supposed to make use of only a JSPWriter object (given to you in the form of the implicit object out) for replying to clients.

A JSPWriter can be viewed as a buffered version of the stream object returned by response.getWriter(), although from an implementational perspective, it is not.

Q33. What Are The Implicit Objects In Jsp?

There are all total 9 implicit objects in JSP. Application interface refers to the web application’s interface whereas Session interface refers to the user’s session. Request interface refers to the page which is currently requested whereas Response interface refers to the response which is currently made by the user. Config interface refers to the servlet configuration. Class like out, page, page Context and exception refers to the output stream of the page, servlet instance of the page, environment of the page, error handling respectively.

Q34. What Is The Page Directive Is Used To Prevent A Jsp Page From Automatically Creating A Session:

<%@ page session="false">

Q35. What Are Context Initialization Parameters

Context initialization parameters are specified by the in the web.xml file, these are initialization parameter for the whole application and not specific to any servlet or JSP.

Q36. How Do You Connect To The Database From Jsp?

A Connection to a database can be established from a jsp page by writing the code to establish a connection using a jsp scriptlets.

Further then you can use the resultset object “res” to read data in the following way.

Q37. Can We Use The Constructor, Instead Of Init(), To Initialize Servlet?

Yes , of course you can use the constructor instead of init(). There’s nothing to stop you. But you shouldn’t. 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 constructur 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 Servlet Context.

Q38. What Are The Attributes Of Page Directive?

There are thirteen attributes defined for a page directive of which the important attributes are as follows:
import: It specifies the packages that are to be imported.
session: It specifies whether a session data is available to the JSP page.
contentType: It allows a user to set the content-type for a page.
isELIgnored: It specifies whether the EL expressions are ignored when a JSP is trlated to a servlet.

Q39. What Are The Standard Actions Available In Jsp?

The standard actions available in JSP are as follows:

  • :It includes a response from a servlet or a JSP page into the current page.It differs from an include directive in that it includes a resource at request processing time, whereas the include directive includes a resource at trlation time.
  • :It forwards a response from a servlet or a JSP page to another page.
  • :It makes a JavaBean available to a page and instantiates the bean.
  • :It sets the properties for a JavaBean.
  • :It gets the value of a property from a JavaBean component and adds it to the response.
  • :It is used in conjunction with ;, ; to add a parameter to a request. These parameters are provided using the name-value pairs.
  • :It is used to include a Java applet or a JavaBean in the current JSP page.

 

Q40. What Are Advantages Of Jsp

whenever there is a change in the code, we dont have to recompile the jsp. it automatically does the compilation. by using custom tags and tag libraries the length of the java code is reduced.

Q41. How To Pass Information From Jsp To Included Jsp?

Using <%jsp:param> tag.

Q42. What Are Scripting Elements?

JSP scripting elements let you insert Java code into the servlet that will be generated from the current JSP page. There are three forms:

  1. Expressionsof the form <%= expression %> that are evaluated and inserted into the output,
  2. Scriptletsof the form <% code %> that are inserted into the servlet’s service method,
  3. Declarationsof the form <%! code %> that are inserted into the body of the servlet class, outside of any existing methods.

Q43. Is There A Way To Reference The “this” Variable Within A Jsp Page?

Yes, there is. Under JSP 1.0, the page implicit object is equivalent to “this”, and returns a reference to the Servlet generated by the JSP page.

Q44. What Is A Servlet ?

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

Q45. What Are Custom Tags And Why It Is Needed?

JSP tags are extended by creating a custom set of tags which is called as tag library (taglib). The page which uses custom tags declares taglib and uniquely names, defines and associates a tag prefix to differentiate the usage of those tags.

Q46. What Is Jsp Technology?

Java Server Page is a standard Java extension that is defined on top of the servlet Extensions. The goal of JSP is the simplified creation and management of dynamic Web pages. JSPs are secure, platform-independent, and best of all, make use of Java as a server-side scripting language.

Q47. What Is Page Directive?

• A page directive is to inform the JSP engine about the headers or facilities that page should get from the environment.
• Typically, the page directive is found at the top of almost all of our JSP pages.
• There can be any number of page directives within a JSP page (although the attribute – value pair must be unique).
• The syntax of the include directive is: <%@ page attribute="value">
• Example:<%@ include file="header.jsp" %>

Q48. How Do I Prevent The Output Of My Jsp Or Servlet Pages From Being Cached By The Browser?

You will need to set the appropriate HTTP header attributes to prevent the dynamic content output by the JSP page from being cached by the browser. Just execute the following scriptlet at the beginning of your JSP pages to prevent them from being cached at the browser. You need both the statements to take care of some of the older browser versions.

Q49. Is Jsp Technology Extensible?

YES. JSP technology is extensible through the development of custom actions, or tags, which are encapsulated in tag libraries.

Q50. What Is The Include Directive?

There are thirteen attributes defined for a page directive of which the importantattributes are as follows:
• The include directive is used to statically insert the contents of a resource into the current JSP.
• This enables a user to reuse the code without duplicating it, and includes the contents of the specified file at the trlation time.
• The syntax of the include directive is as follows:
<%@ include file = "FileName" %>
• This directive has only one attribute called file that specifies the name of the file to be included.