You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by dh...@lexmark.com on 2007/05/22 22:42:01 UTC
servlet url-pattern and subdirectories problem
Hi,
We're using Spring-MVC and we're trying to set up 2 "apps" in a single web
app...
Our main app is under .../mainapp url, and then we have another series of
pages that can be accessed via ./mainapp/subapp. The subapp files are
found in a "subapp" subdirectory in the mainapp webapp. However, I'm
having a problem setting up the url-patterns for it - it seems like I
can't route some pages in the subapp through a servlet (Spring-MVC's
Dispatcher servlet) and access other static pages directly?
My web.xml snippet is as follows:
<servlet>
<servlet-name>mainapp</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>3</load-on-startup>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/mainapp-servlet.xml,
/WEB-INF/subapp-servlet.xml
</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>mainapp</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>mainapp</servlet-name>
<url-pattern>/subapp/*</url-pattern>
</servlet-mapping>
This allows me to route ./mainapp/subapp/myaction.do correctly, but I
can't access ./mainapp/subapp/images/xyz.gif. What I'd really like to do
is have the last url-pattern to be "/subapp/*.do" - but I understand the
spec won't allow this?
Anyone have any idea how I can make this work?
cheers,
Re: servlet url-pattern and subdirectories problem
Posted by Georg Sauer-Limbach <gs...@gslweb.de>.
dhay@lexmark.com wrote:
> <servlet-mapping>
> <servlet-name>mainapp</servlet-name>
> <url-pattern>*.do</url-pattern>
> </servlet-mapping>
>
> <servlet-mapping>
> <servlet-name>mainapp</servlet-name>
> <url-pattern>/subapp/*</url-pattern>
> </servlet-mapping>
>
> This allows me to route ./mainapp/subapp/myaction.do correctly, but I
> can't access ./mainapp/subapp/images/xyz.gif. What I'd really like to do
> is have the last url-pattern to be "/subapp/*.do" - but I understand the
> spec won't allow this?
>
> Anyone have any idea how I can make this work?
Use one more mapping which maps the subapp path:
<servlet-mapping>
<servlet-name>subapp-images-servlet</servlet-name>
<url-pattern>/subapp/images</url-pattern>
</servlet-mapping>
The longest matching path wins. Only if no path matches are
the extension mappings taken into account:
...
<url-pattern>*.ext</url-pattern>
See chapter 11 of the Servlet Spec.
Georg
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org