Monday 28 March 2016

EXCEPTION HANDLING IN JSP

The exception is normally an object that is thrown at runtime. Exception Handling is the process to handle the runtime errors. There may occur exception any time in your web application. So handling exceptions is a safer side for the web developer. In JSP, there are two ways to perform exception handling:
  1. By errorPage and isErrorPage attributes of page directive
  2. By <error-page> element in web.xml file


Example of exception handling in jsp by the elements of page directive

In this case, you must define and create a page to handle the exceptions, as in the error.jsp page. The pages where may occur exception, define the errorPage attribute of page directive, as in the process.jsp page.
There are 3 files:
  • index.jsp for input values
  • process.jsp for dividing the two numbers and displaying the result
  • error.jsp for handling the exception

index.jsp


  1. <form action="process.jsp">  
  2. No1:<input type="text" name="n1" /><br/><br/>  
  3. No1:<input type="text" name="n2" /><br/><br/>  
  4. <input type="submit" value="divide"/>  
  5. </form>  

process.jsp


  1. <%@ page errorPage="error.jsp" %>  
  2. <%  
  3.   
  4. String num1=request.getParameter("n1");  
  5. String num2=request.getParameter("n2");  
  6.   
  7. int a=Integer.parseInt(num1);  
  8. int b=Integer.parseInt(num2);  
  9. int c=a/b;  
  10. out.print("division of numbers is: "+c);  
  11.   
  12. %>  

error.jsp


  1. <%@ page isErrorPage="true" %>  
  2.   
  3. <h3>Sorry an exception occured!</h3>  
  4.   
  5. Exception is: <%= exception %>  

Output of this example:

exception handling in jsp exception handling in jsp exception handling in jsp 

Expression Language (EL) in JSP

The Expression Language (EL) simplifies the accessibility of data stored in the Java Bean component, and other objects like request, session, application etc.
There are many implicit objects, operators and reserve words in EL.
It is the newly added feature in JSP technology version 2.0.

Syntax for Expression Language (EL)


  1. ${ expression }  

Implicit Objects in Expression Language (EL)

There are many implicit objects in the Expression Language. They are as follows:
Implicit Objects
Usage
pageScope
it maps the given attribute name with the value set in the page scope
requestScope
it maps the given attribute name with the value set in the request scope
sessionScope
it maps the given attribute name with the value set in the session scope
applicationScope
it maps the given attribute name with the value set in the application scope
param
it maps the request parameter to the single value
paramValues
it maps the request parameter to an array of values
header
it maps the request header name to the single value
headerValues
it maps the request header name to an array of values
cookie
it maps the given cookie name to the cookie value
initParam
it maps the initialization parameter
pageContext
it provides access to many objects request, session etc.

Simple example of Expression Language that prints the name of the user

In this example, we have created two files index.jsp and process.jsp. The index.jsp file gets input from the user and sends the request to the process.jsp which in turn prints the name of the user using EL.

index.jsp


  1. <form action="process.jsp">  
  2. Enter Name:<input type="text" name="name" /><br/><br/>  
  3. <input type="submit" value="go"/>  
  4. </form>  

process.jsp


  1. Welcome, ${ param.name }  


Example of Expression Language that prints the value set in the session scope

In this example, we printing the data stored in the session scope using EL. For this purpose, we have used sessionScope object.

index.jsp


  1. <h3>welcome to index page</h3>  
  2. <%  
  3. session.setAttribute("user","sonoo");  
  4. %>  
  5.   
  6. <a href="process.jsp">visit</a>  

process.jsp


  1. Value is ${ sessionScope.user }  


Precedence of Operators in EL

There are many operators that have been provided in the Expression Language. Their precedence are as follows:
[] .
()
-(unary) not ! empty
* / div % mod
+ - (binary)
< <= > >= lt le gt ge
== != eq ne
&& and
|| or
?:

Reserve words in EL

There are many reserve words in the Expression Language. They are as follows:
lt
le
gt
ge
eq
ne
true
false
and
or
not
instanceof
div
mod
empty
null

No comments:

Post a Comment