On Fri, Oct 1, 2010 at 9:44 AM, Pete Muir <pmuir(a)redhat.com>
wrote:
>
> On 1 Oct 2010, at 10:48, Sreekanth wrote:
>
> > Hi,
> >
> > I am running the core tests from the workspace against glassfish.I have
> these question related to 2 tests.
> >
> > In the test, org.jboss.weld.tests.scope.RemoteScopeTest, there is a
> servlet by name RemoteClient using the annotation
"@WebServlet("*")".
>
> Not sure, but it's always worked with Tomcat/JBossWeb. I guess Grizzly
> doesn't support this?
>
> >
> >
> > In the test resource.EMFFactoryTest, there are 3 servlets
> EMFConsumerTest1, EMFConsumerTest2, EMFConsumerTest3 which uses the
> annotation @WebServlet("emfconsumer") with out a leading "/" .
> >
> > Are these 2 test cases valid with respect to servlet specification?I
> guess these need to be rectified.Please comment.
>
> As above?
>
According to 12.2 of the Servlet 3.0 specification (not likely to have
changed since prior versions)
In the Web application deployment descriptor, the following syntax is used
to define
mappings:
- A string beginning with a ‘/’ character and ending with a ‘/*’ suffix
is used for path mapping.
- A string beginning with a ‘*.’ prefix is used as an extension
mapping.
- The empty string ("") is a special URL pattern that exactly maps to
the application's context root, i.e., requests of the form
http://host:port/<context-root>/.
In this case the path info is ’/’ and the servlet path and context path
is empty string (““).
- A string containing only the ’/’ character indicates the "default"
servlet of that application. In this case the servlet path is the request
URI minus the context path and the path info is null.
- All other strings are used for exact matches only.
So a * path and a path without a slash are likely only JBoss AS friendly.
-Dan
--
Dan Allen
Principal Software Engineer, Red Hat | Author of Seam in Action
Registered Linux User #231597
http://mojavelinux.com
http://mojavelinux.com/seaminaction
http://www.google.com/profiles/dan.j.allen