As you've noted, this happens too early for a Valve as well.  It takes place 
in the CoyoteAdapter, which is where the Connector hands off the request to 
the Servlet-Engine for processing.  As it happens, in a Filter or Valve you 
can call request.isRequestedSessionIdFromURL() to check if the request 
included the ;jsessionid=xxxxxxx in the URL, but Tomcat will prefer the 
value in the in the Cookie if they are different.

About the only Tomcat-pluggable component that you could use to examine the 
Request before the ;jsessionid=xxxxxx is a ProtocolHandler.

"Christopher Vitale" <[EMAIL PROTECTED]> wrote in message 
news:[EMAIL PROTECTED]


Hello,

I'd like to create a filter very, very early in the processing pipeline.
I'm running tomcat 5.5.23 with jre 1.5.0. If a request comes in looking
like this:

POST /path;jsessionid=xxxxxxxx HTTP/1.1
cookie: JSESSIONID=xxxxxxxx
.....

a=b&e=f


I'd like to manipulate this request before the jsessionid has been stripped
in the first line. I even want to preserve the order of the values in the
content body.

I've been playing with servlet filters, but they just seem to be called too
late. Valves also looked interesting, but they appear special because they
can be attached to a wider scope of elements, like hosts and engines. When
I attach the RequestDumperValve to my Catalina engine the 'jsession' has
already been stripped.

Does tomcat allow a filter, valve, or whatever to operate at a level I
need?

I know it runs counter to a lot of the principles behind J2EE servers.

Thanks,

vitale 




---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to