Have you tried just response redirect instead of the dispatcher? I had some simliliar issues when I tried to keep two applications talking to each other on the same session ...
What I found is that when I include a JSP from another war file I am apprently getting another session. The session ID I get from the top level JSP is the same as the session ID from the included JSP from the other war but the creation time and the attributes are different.
The only way I can get at my primary session from the original war file is to add it as a request attribute before I include the JSP from the other war file. Then in the included JSP I get the primary session I want out of the request instead of the actual session associated with the included JSP.