Set - 4

Question 1 :

What is the difference between directive include and jsp include?

Answer :

<%@ include> : Used to include static resources during translation time. : Used to include dynamic content or static content during runtime.


Question 2 :

What is the difference between RequestDispatcher and sendRedirect?

Answer :

RequestDispatcher: server-side redirect with request and response objects. sendRedirect : Client-side redirect with new request and response objects.


Question 3 :

How does JSP handle runtime exceptions?

Answer :

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.


Question 4 :

How can my application get to know when a HttpSession is removed?

Answer :

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.


Question 5 :

What Class.forName will do while loading drivers?

Answer :

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.


Question 6 :

How to Retrieve Warnings?

Answer :

SQLWarning objects are a subclass of SQLException that deal with database access warnings. Warnings do not stop the execution of an application, as exceptions do; they simply alert the user that something did not happen as planned. A warning can be reported on a Connection object, a Statement object (including PreparedStatement and CallableStatement objects), or a ResultSet object. Each of these classes has a getWarnings method, which you must invoke in order to see the first warning reported on the calling object
SQLWarning warning = stmt.getWarnings();
if (warning != null)
{
while (warning != null)
{
System.out.println(\"Message: \" + warning.getMessage());
System.out.println(\"SQLState: \" + warning.getSQLState());
System.out.print(\"Vendor error code: \");
System.out.println(warning.getErrorCode());
warning = warning.getNextWarning();
}
}


Question 7 :

How many JSP scripting elements are there and what are they?

Answer :

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


Question 8 :

In the Servlet 2.4 specification SingleThreadModel has been deprecated, why?

Answer :

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.


Question 9 :

Is JSP technology extensible?

Answer :

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


Question 10 :

Can we use the constructor, instead of init(), to initialize servlet?

Answer :

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 ServletContext.


Question 11 :

How can a servlet refresh automatically if some new data has entered the database?

Answer :

You can use a client-side Refresh or Server Push.


Question 12 :

The code in a finally clause will never fail to execute, right?

Answer :

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


Question 13 :

How many messaging models do JMS provide for and what are they?

Answer :

JMS provide for two messaging models, publish-and-subscribe and point-to-point queuing.