diff options
author | Jan Bartel | 2012-10-18 00:30:48 +0000 |
---|---|---|
committer | Jan Bartel | 2012-10-18 00:30:48 +0000 |
commit | bf1966ca94666a201ef635376dae2f5e034f0316 (patch) | |
tree | a467671907ed31b7842e243d4c07a474f0400cae | |
parent | 5277122dd832f5a2833e530e33a51a58bccbfed4 (diff) | |
download | org.eclipse.jetty.project-bf1966ca94666a201ef635376dae2f5e034f0316.tar.gz org.eclipse.jetty.project-bf1966ca94666a201ef635376dae2f5e034f0316.tar.xz org.eclipse.jetty.project-bf1966ca94666a201ef635376dae2f5e034f0316.zip |
392239 Throw exception if no code or exception in error-page element
-rw-r--r-- | jetty-webapp/src/main/java/org/eclipse/jetty/webapp/StandardDescriptorProcessor.java | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/StandardDescriptorProcessor.java b/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/StandardDescriptorProcessor.java index 30a7ccc3a4..9f646e2132 100644 --- a/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/StandardDescriptorProcessor.java +++ b/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/StandardDescriptorProcessor.java @@ -682,13 +682,14 @@ public class StandardDescriptorProcessor extends IterativeDescriptorProcessor error = node.getString("exception-type", false, true); else code=Integer.valueOf(error); - String location = node.getString("location", false, true); - - - ErrorPageErrorHandler handler = (ErrorPageErrorHandler)context.getErrorHandler(); + if (code == 0 && (error == null || error.length()==0)) + throw new IllegalStateException("Missing error-code or exception-type for error-page"); + String location = node.getString("location", false, true); + ErrorPageErrorHandler handler = (ErrorPageErrorHandler)context.getErrorHandler(); Origin o = context.getMetaData().getOrigin("error."+error); + switch (o) { case NotSet: @@ -698,7 +699,7 @@ public class StandardDescriptorProcessor extends IterativeDescriptorProcessor handler.addErrorPage(code,location); else handler.addErrorPage(error,location); - context.getMetaData().setOrigin("error."+error, descriptor); + context.getMetaData().setOrigin("error."+(code>0?code:error), descriptor); break; } case WebXml: @@ -712,7 +713,7 @@ public class StandardDescriptorProcessor extends IterativeDescriptorProcessor handler.addErrorPage(code,location); else handler.addErrorPage(error,location); - context.getMetaData().setOrigin("error."+error, descriptor); + context.getMetaData().setOrigin("error."+(code>0?code:error), descriptor); } break; } |