Bug 54124

Summary: wrong javax.servlet.async.request_uri information and javax.servlet.async.path_info is missing
Product: Tomcat 7 Reporter: Eugene Chung (TmaxSoft) <bluewolf.chung>
Component: CatalinaAssignee: Tomcat Developers Mailing List <dev>
Status: RESOLVED FIXED    
Severity: normal    
Priority: P2    
Version: 7.0.32   
Target Milestone: ---   
Hardware: PC   
OS: Linux   

Description Eugene Chung (TmaxSoft) 2012-11-09 10:42:29 UTC
As it is clearly shown that

org.apache.catalina.core.AsyncContextImpl.dispatch(ServletContext, String)

    @Override
    public void dispatch(ServletContext context, String path) {
        if (log.isDebugEnabled()) {
            logDebug("dispatch   ");
        }
        check();
        if (request.getAttribute(ASYNC_REQUEST_URI)==null) {
            request.setAttribute(ASYNC_REQUEST_URI, request.getRequestURI()+"?"+request.getQueryString());
            request.setAttribute(ASYNC_CONTEXT_PATH, request.getContextPath());
            request.setAttribute(ASYNC_SERVLET_PATH, request.getServletPath());
            request.setAttribute(ASYNC_QUERY_STRING, request.getQueryString());
        }
        ....
    }

the value of ASYNC_REQUEST_URI is not the same as request.getRequestURI().
They must be equal to each other as defined by Servlet 3.0, 9.7.2
Dispatched Request Parameters.

And ASYNC_PATH_INFO is missing.
Comment 1 Mark Thomas 2012-11-11 23:45:55 UTC
Thanks for the report.

Fixed in trunk and 7.0.x and will be included in 7.0.33 onwards.