aspose file tools*
The moose likes Servlets and the fly likes servlet-mapping tag of deployment descriptor Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Servlets
Bookmark "servlet-mapping tag of deployment descriptor" Watch "servlet-mapping tag of deployment descriptor" New topic
Author

servlet-mapping tag of deployment descriptor

Kavita Bopardikar
Greenhorn

Joined: Oct 16, 2000
Posts: 13
I am using tomcat 4.1 server.
I have a servlet named LoginServlet & have defined it in the deployment descriptor as follows:
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>Login.*</url-pattern>
</servlet-mapping>

When I invoke it as: http://localhost:8080/appname/Login.ac
it gives error HTTP-404 URL not found.
But, if i define the url-pattern as *.login & invoke it as
http://localhost:8080/appname/ac.login
it takes me to the corresponding page.

Why does the * behave differently before the . & after the .

If i have an entry like *.* will this work? I am unable to understand why * behaves differently?


Kavita
Mike Curwen
Ranch Hand

Joined: Feb 20, 2001
Posts: 3695

From SRV.11.2 (the servlet spec)


* A string beginning with a �/� character and ending with a �/*� postfix is used
for path mapping.
* A string beginning with a �*.� prefix is used as an extension mapping.
* A string containing only the �/� character indicates the "default" servlet of the
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.

The only bullet yours satisfies is the fourth. And there is no page literally named "Login.*", so you get 404.

Basically, you can map an extension (*.foo) or a path (/foo) but not both.
Kavita Bopardikar
Greenhorn

Joined: Oct 16, 2000
Posts: 13
Thank you.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: servlet-mapping tag of deployment descriptor