1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.apache.struts.chain.commands.servlet;
22
23 import org.apache.commons.logging.Log;
24 import org.apache.commons.logging.LogFactory;
25 import org.apache.struts.action.ActionForm;
26 import org.apache.struts.action.ActionMapping;
27 import org.apache.struts.chain.commands.AbstractExceptionHandler;
28 import org.apache.struts.chain.commands.util.ClassUtils;
29 import org.apache.struts.chain.contexts.ActionContext;
30 import org.apache.struts.chain.contexts.ServletActionContext;
31 import org.apache.struts.config.ActionConfig;
32 import org.apache.struts.config.ExceptionConfig;
33 import org.apache.struts.config.ForwardConfig;
34 import org.apache.struts.config.ModuleConfig;
35
36 import javax.servlet.http.HttpServletRequest;
37 import javax.servlet.http.HttpServletResponse;
38
39
40
41
42
43
44
45 public class ExceptionHandler extends AbstractExceptionHandler {
46
47 private static final Log log = LogFactory.getLog(ExceptionHandler.class);
48
49
50 protected ForwardConfig handle(ActionContext context, Exception exception,
51 ExceptionConfig exceptionConfig, ActionConfig actionConfig,
52 ModuleConfig moduleConfig)
53 throws Exception {
54
55 ServletActionContext sacontext = (ServletActionContext) context;
56 ActionForm actionForm = (ActionForm) sacontext.getActionForm();
57 HttpServletRequest request = sacontext.getRequest();
58 HttpServletResponse response = sacontext.getResponse();
59
60
61 org.apache.struts.action.ExceptionHandler handler =
62 (org.apache.struts.action.ExceptionHandler) ClassUtils
63 .getApplicationInstance(exceptionConfig.getHandler());
64
65 return (handler.execute(exception, exceptionConfig,
66 (ActionMapping) actionConfig, actionForm, request, response));
67 }
68 }