Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Bartel2012-10-18 00:30:48 +0000
committerJan Bartel2012-10-18 00:30:48 +0000
commitbf1966ca94666a201ef635376dae2f5e034f0316 (patch)
treea467671907ed31b7842e243d4c07a474f0400cae
parent5277122dd832f5a2833e530e33a51a58bccbfed4 (diff)
downloadorg.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.java13
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;
}

Back to the top