You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by ru...@albany.edu on 2004/03/10 22:02:00 UTC

invalid url-pattern

Hi Tomcat People:

On Attempt to start my app under Tomcat 5.0.16 on AIX 5.2
I get an error after adding a filter-mapping with a url-pattern containing
forward slashes (in web.xml).

What I believe to be the relevant portion of the error from catalina.out:
java.lang.IllegalArgumentException:
 Invalid <url-pattern> /tool/*.afr in filter mapping
(full error output follows below my sig).

I can make the error disappear by removing the forward slashes from the
<url-pattern>

The following produces the error under Tomcat on AIX but works in my
devel. environ. on Windows 2k using Oracle JDevloper 10g (OC4J as
app.server) I can also duplicate the error under Red Hat 9/Tomcat 5.0.16:
----File: web.xml ------
  <filter>
    <filter-name>Authority Filter</filter-name>
    <filter-class>edu.albany.allfunds.authority.AuthFilter</filter-class>
  </filter>
  <filter-mapping>
     <filter-name>Authority Filter</filter-name>
     <url-pattern>/tool/*.afr</url-pattern>
  </filter-mapping>
------------------------

while this works for both environments (Win2k with OC4J and AIX 5.2 with
Tomcat 5.0.16):
----File: web.xml ------
  <filter>
    <filter-name>Authority Filter</filter-name>
    <filter-class>edu.albany.allfunds.authority.AuthFilter</filter-class>
  </filter>
  <filter-mapping>
     <filter-name>Authority Filter</filter-name>
     <url-pattern>*.afr</url-pattern>
  </filter-mapping>
------------------------

But, applying the filter against all .afr files in the app breaks my
security scheme (fyi: I'm using Struts and my actions use extension afr) .

In google'ing I found this Bug report 13014 from the tomcat devel list:
http://archives.real-time.com/pipermail/tomcat-devel/2003-April/049823.html

Checking Tomcat 5.0.19 release source I see this:
Line 150:        this.urlPattern = RequestUtil.URLDecode(urlPattern);
in file FilterMap.java

If this is even the problem, I'm not sure what to do with that information
since it would seem that letting URLDecode default to the platform's
character encoding is the desired behavior.

I need some direction at this point....
|----------------------------------|
| Ryan Russo                       |
| russo@[noSPAM].albany.edu        |
| University at Albany--Computing  |
| <<remove [noSPAM] to e-mail>>    |
| Technical Services Web Team      |
|__________________________________|

--------File: catalina.out -----------------

[ERROR] Digester - -End event threw exception
<java.lang.reflect.InvocationTarge
tException>java.lang.reflect.InvocationTargetException:
java.lang.IllegalArgumen
tException: Invalid <url-pattern> /tool/*.afr in filter mapping
        at
org.apache.catalina.core.StandardContext.addFilterMap(StandardContext
.java:1937)
        at java.lang.reflect.Method.invoke(Native Method)
        at
org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.jav
a:252)
        at
org.apache.commons.digester.SetNextRule.end(SetNextRule.java:256)
        at org.apache.commons.digester.Rule.end(Rule.java(Compiled Code))
        at
org.apache.commons.digester.Digester.endElement(Digester.java(Compile
d Code))
        at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown
Source
)(Compiled Code)
        at
org.apache.xerces.impl.dtd.XMLDTDValidator.endNamespaceScope(Unknown
Source)(Compiled Code)
        at
org.apache.xerces.impl.dtd.XMLDTDValidator.handleEndElement(Unknown S
ource)(Compiled Code)
        at org.apache.xerces.impl.dtd.XMLDTDValidator.endElement(Unknown
Source)
(Compiled Code)
        at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(
Unknown Source)(Compiled Code)
        at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContent
Dispatcher.dispatch(Unknown Source)(Compiled Code)
        at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Un
known Source)(Compiled Code)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
        at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown
Source)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown
Source)
        at org.apache.commons.digester.Digester.parse(Digester.java:1548)
        at
org.apache.catalina.startup.ContextConfig.applicationConfig(ContextCo
nfig.java:302)
        at
org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:64
4)
        at
org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfi
g.java:254)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
eSupport.java:166)
        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4
212)
        at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
.java:866)
        at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:85
0)
        at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
        at
org.apache.catalina.core.StandardHostDeployer.install(StandardHostDep
loyer.java:316)
        at
org.apache.catalina.core.StandardHost.install(StandardHost.java:859)
        at
org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:653
)
        at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:472
)
        at
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1002)
        at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java
:393)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
eSupport.java:166)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1133)
        at
org.apache.catalina.core.StandardHost.start(StandardHost.java:816)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1125)
        at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:518
)
        at
org.apache.catalina.core.StandardService.start(StandardService.java:5
19)
        at
org.apache.catalina.core.StandardServer.start(StandardServer.java:234
3)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
        at java.lang.reflect.Method.invoke(Native Method)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:297)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:398)

[ERROR] ContextConfig - -Parse error in application web.xml
<java.lang.IllegalAr
gumentException: Invalid <url-pattern> /tool/*.afr in filter
mapping>java.lang.I
llegalArgumentException: Invalid <url-pattern> /tool/*.afr in filter
mapping
        at
org.apache.commons.digester.Digester.createSAXException(Digester.java
(Inlined Compiled Code))
        at
org.apache.commons.digester.Digester.createSAXException(Digester.java
(Inlined Compiled Code))
        at
org.apache.commons.digester.Digester.endElement(Digester.java(Compile
d Code))
        at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown
Source
)(Compiled Code)
        at
org.apache.xerces.impl.dtd.XMLDTDValidator.endNamespaceScope(Unknown
Source)(Compiled Code)
        at
org.apache.xerces.impl.dtd.XMLDTDValidator.handleEndElement(Unknown S
ource)(Compiled Code)
        at org.apache.xerces.impl.dtd.XMLDTDValidator.endElement(Unknown
Source)
(Compiled Code)
        at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(
Unknown Source)(Compiled Code)
        at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContent
Dispatcher.dispatch(Unknown Source)(Compiled Code)
        at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Un
known Source)(Compiled Code)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
        at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown
Source)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown
Source)
        at org.apache.commons.digester.Digester.parse(Digester.java:1548)
        at
org.apache.catalina.startup.ContextConfig.applicationConfig(ContextCo
nfig.java:302)
        at
org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:64
4)
        at
org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfi
g.java:254)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
eSupport.java:166)
        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4
212)
        at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
.java:866)
        at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:85
0)
        at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
        at
org.apache.catalina.core.StandardHostDeployer.install(StandardHostDep
loyer.java:316)
        at
org.apache.catalina.core.StandardHost.install(StandardHost.java:859)
        at
org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:653
)
        at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:472
)
        at
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1002)
        at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java
:393)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
eSupport.java:166)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1133)
        at
org.apache.catalina.core.StandardHost.start(StandardHost.java:816)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1125)
        at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:518
)
        at
org.apache.catalina.core.StandardService.start(StandardService.java:5
19)
        at
org.apache.catalina.core.StandardServer.start(StandardServer.java:234
3)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
        at java.lang.reflect.Method.invoke(Native Method)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:297)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:398)

[ERROR] ContextConfig - -Occurred at line 13 column 20
[ERROR] ContextConfig - -Marking this application unavailable due to
previous er
ror(s)
[ERROR] Context - -Error getConfigured
[ERROR] Context - -Context startup failed due to previous errors



---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org