/**\r
* Return <code>true</code> if the context-relative request path\r
* matches the requirements of the specified filter mapping;\r
- * otherwise, return <code>null</code>.\r
+ * otherwise, return <code>false</code>.\r
*\r
* @param filterMap Filter mapping being checked\r
* @param requestPath Context-relative request path of this request\r
*/\r
private boolean matchFiltersURL(FilterMap filterMap, String requestPath) {\r
\r
+ // Check the specific "*" special URL pattern, which also matches\r
+ // named dispatches\r
+ if (filterMap.getAllMatch())\r
+ return (true);\r
+ \r
if (requestPath == null)\r
return (false);\r
\r
this.servletName = servletName;\r
}\r
\r
+ \r
+ /**\r
+ * The flag that indicates this mapping will match all.\r
+ */\r
+ private boolean allMatch = false;\r
+ \r
+ public boolean getAllMatch() {\r
+ return allMatch;\r
+ }\r
+ \r
\r
/**\r
* The URL pattern this mapping matches.\r
}\r
\r
public void setURLPattern(String urlPattern) {\r
- this.urlPattern = RequestUtil.URLDecode(urlPattern);\r
+ if ("*".equals(urlPattern)) {\r
+ this.allMatch = true;\r
+ } else {\r
+ this.urlPattern = RequestUtil.URLDecode(urlPattern);\r
+ }\r
}\r
\r
/**\r