users@glassfish.java.net

Disappeared specialAttributes in Servlet API 3.0

From: Major Péter <majorpetya_at_sch.bme.hu>
Date: Sun, 31 Jan 2010 17:53:34 +0100

Hi,

I don't know if this is the right place to ask, but maybe you can route
me to there.
In details:
I'm trying to create a not found servlet, which is showing upon every
404 error codes, that's why I've added in web.xml the followings:
<error-page>
        <error-code>404</error-code>
        <location>/error/NotFound</location>
</error-page>

The NotFoundServlet is url-mapped to the /error/NotFound place too.
Now if I try the app with GFv2 then in the NotFoundServlet's
HttpServletRequest object in the specialAttributes variable, there are
some properties:
javax.servlet.forward.query_string
javax.servlet.forward.request_uri
javax.servlet.forward.servlet_path
javax.servlet.forward.path_info
javax.servlet.forward.context_path

but when I try the whole thing with GFv3, there is nothing, the whole
specialAttributes are null.
The problem is that the Wicket framework is depending on the forward
attributes, to create correct relative url's on the page, but because
they are not there, the urls are calculated wrong, which why they points
to wrong places.
Now the question is, is this behaviour intentional, and if it so, then
how could this problem being solved maintaining backward-compatibility?
Thanks

Best Regards,
Peter Major