DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3736>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3736

incorrect PathInfo on first invocation of servlet chain

[EMAIL PROTECTED] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |INVALID



------- Additional Comments From [EMAIL PROTECTED]  2001-09-20 14:38 -------
Your examples are using request URIs that utilize the Tomcat "invoker" servlet. 
Because invoker service is *not* defined in the servlet specification, there are
no requirements for how it is to behave.

In particular, in Tomcat, the invoker is mapped to "/servlet/*".  The very first
time a request for servlet S3 is processed (say "/servlet/S3/path/info"), the
invoker servlet will create a *new* servlet definition for this servlet
dynamically, and map it to "/servlet/S3/* for all future requests.

However, at the moment your filter is called, this has not happened yet (because
your filter is called before the invoker servlet).  Therefore, your filter will
see the servlet path set to "/servlet" and extra path info set to
"/S3/path/info" on the very first request.  This is exactly what the Servlet
Specification requires, and cannot be changed.

If you want consistent results even on the first request, you should explicitly
map your servlet to a particular mapping pattern.  That way, your filter will
always get consistent results (and your application will also be portable to
other servlet containers, which it is not right now).

Reply via email to