On further analysis this is what we have found out.
There is no "RequestProcessor.java" in struts 1.0.2 . This class is been
introduced from struts1.1. Enabling struts trace i could see that struts
ActionServlet is calling "sendError 400 Invalid path
;jsessionid=0000gE0mwjqt37IqNxCy0s2UO15:-1 was requested"  when it cannot
find the path mapping. The reason i think same code is working on v5 and
not on v6 is there might be a behavior change to "request.getPathInfo()"
method. What i noticed is in v5, when there is jsessionid in path it is
getting ignored by getPathInfo but in v6 its returning even jsessionid.
Ideally, struts code should be handling the case where we have jsessionid
for the path info.
It looks like struts may  need to trim off path parameters (ones that
start with ;jsessionid) when checking if pathInfo exists or not.

What servlet container are you using? Struts should have no responsibilities regarding session management; this should all be dealt with before the servlet is invoked; in fact, I do not believe that any servlet container I've ever used passes the jsessionid as part of the path info, although I can't say that I've definitively tested it.

You refer to "v5" and "v6" with no referents. Are those versions of the servlet container you use? Or of your application?

I've been writing Struts apps for years that run on Tomcat 4 and 5 and JBoss 3.2.x without ever having any problems with path-encoded session IDs. But it's been quite a while since I was working on a Struts 1.0.x app.

Joe

--
Joe Germuska [EMAIL PROTECTED] http://blog.germuska.com "Narrow minds are weapons made for mass destruction" -The Ex

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to