Spring MVC Exceptional Handling using @ExceptionHandler example

In this post , we will see how to do exceptional handling in Spring MVC using @ExceptionalHandler. You can use @ExceptionHandler to redirect to error view when exception occurs.
Lets understand this with the help of example:

Source code:

click to begin

20KB .zip

1) Create a dynamic web project using maven in eclipse named “SpringMVCExceptionalHandlerExample”

Maven dependencies

2) Our pom.xml will look like below

pom.xml

Spring application configuration:

3) Change web.xml as below:

4) create a xml file named springrest-servlet.xml in /WEB-INF/ folder.
Please change context:component-scan if you want to use different package for spring to search for controller.Please refer to spring mvc hello world example for more understanding.

Create Controller

6) Create a controller named “HelloWorldController.java” in package org.arpit.java2blog.controller

Create view

As you can see, we have annotated two method i.e. catchCustomException and catchIOException with @ExceptionHandler. These methods will handle CustomException and IOException respectively.

Modify index.jsp as below

Create Custom_Excepion.jsp in /WEB-INF/ folder to handle CustomException exception.

Create IOException.jsp in /WEB-INF folder as below to handle IOException.

7) It ‘s time to do maven build.

Right click on project -> Run as -> Maven build

Maven build in eclipse
8) Provide goals as clean install (given below) and click on run
Maven build in eclipse

Run the application

9) Right click on project -> run as -> run on server
Select apache tomcat and click on finish

10) Lets hit below URL
http://localhost:8080/SpringMVCExceptionalHandlerExample/helloworld/hello


As you can see, it is working fine with above URL.
Now lets hit some URL which will throw exception and exception will be handled by @ExcpetionHandler.

When you hit below URL.
http://localhost:8080/SpringMVCExceptionalHandlerExample/helloworld/CustomException



As you can see, when you hit above URL , CustomException is thrown and handled by catchCustomException method.

When you hit below URL.
http://localhost:8080/SpringMVCExceptionalHandlerExample/helloworld/IOException


As you can see, when you hit above URL , CustomException is thrown and handled by catchIOException method.

Was this post helpful?

Leave a Reply

Your email address will not be published. Required fields are marked *