Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

The example code for this tutorial, Exception_Handling_Struts2_Ant or Exception_Handling_Struts2_Mvnexception_handling, is available on Google Code - httpfor checkout at https://codesvn.google.com/p/struts2-examples/downloads/list. After downloading and unzipping the file, you'll have a folder named Exception_Handling_Struts2_Ant (or Exception_Handling_Struts2_Mvn). In that folder will be a README.txt file with instructions on now to build and run the example application.apache.org/repos/asf/struts/sandbox/trunk/struts2examplesImage Added.

Introduction

In this tutorial we'll explore how to enable the Struts 2 framework to handle any uncaught exceptions generated by a web application. Struts 2 provides robust exception handling, including the ability to automatically log any uncaught exceptions and redirect the user to a error web page. The code discussed in this tutorial can be download from Google Code - http://code.google. com/p/struts2-examples/downloads/list.

Tip

The Struts 2 user mailing list is an excellent place to get help. If you are having a problem getting the tutorial example applications to work search the Struts 2 mailing list. If you don't find an answer to your problem, post a question on the mailing list.

...

To enable global exception handling you need to add two nodes to struts.xml: global-exception-mapping and global-results. For example examine struts.xml from the Exception Handling code download (http://code.google.com/p/struts2-examples/downloads/list)exception_handling project.

Code Block
XML
XML
1struts.xml Global Exception Handling
  
   <global-results>
        <result name="securityerror">/securityerror.jsp</result>
  	<result name="error">/error.jsp</result>
   </global-results>

   <global-exception-mappings>
	<exception-mapping exception="org.apache.struts.register.exceptions.SecurityBreachException" result="securityerror" />
	 <exception-mapping exception="java.lang.Exception" result="error" />
   </global-exception-mappings>
  

...

You can configure the Struts 2 framework to log any uncaught exceptions. To enable logging of the exceptions being handled by the Struts 2 framework you must specify some parameter values in struts.xml. If you examine the ExceptionMappingInterceptor class API there are three parameter values you can set to enable logging (logEnabled), the log level to use (logLevel), and the log category (logCategory) to specify in the log message.

...