jfarcand 2002/12/17 12:06:20 Modified: catalina/src/share/org/apache/catalina/core ApplicationRequest.java ApplicationDispatcher.java ApplicationHttpRequest.java Log: Servlet 2.4 Specification addition ---------------------------------- SRV.8.4.2 Forwarded Request Parameters Except for servlets obtained by using the getNamedDispatcher method, a servlet being used from a servlet that has been invoked by another servlet using the forward method of RequestDispatcher. The following request attributes must be set: - javax.servlet.forward.request_uri - javax.servlet.forward.context_path - javax.servlet.forward.servlet_path - javax.servlet.forward.path_info - javax.servlet.forward.query_string Revision Changes Path 1.2 +9 -7 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationRequest.java Index: ApplicationRequest.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationRequest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ApplicationRequest.java 18 Jul 2002 16:48:06 -0000 1.1 +++ ApplicationRequest.java 17 Dec 2002 20:06:20 -0000 1.2 @@ -103,9 +103,11 @@ * The set of attribute names that are special for request dispatchers. */ protected static final String specials[] = - { Globals.REQUEST_URI_ATTR, Globals.CONTEXT_PATH_ATTR, - Globals.SERVLET_PATH_ATTR, Globals.PATH_INFO_ATTR, - Globals.QUERY_STRING_ATTR }; + { Globals.INCLUDE_REQUEST_URI_ATTR, Globals.INCLUDE_CONTEXT_PATH_ATTR, + Globals.INCLUDE_SERVLET_PATH_ATTR, Globals.INCLUDE_PATH_INFO_ATTR, + Globals.INCLUDE_QUERY_STRING_ATTR, Globals.FORWARD_REQUEST_URI_ATTR, + Globals.FORWARD_CONTEXT_PATH_ATTR, Globals.FORWARD_SERVLET_PATH_ATTR, + Globals.FORWARD_PATH_INFO_ATTR, Globals.FORWARD_QUERY_STRING_ATTR }; // ----------------------------------------------------------- Constructors 1.7 +28 -9 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java Index: ApplicationDispatcher.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- ApplicationDispatcher.java 6 Dec 2002 02:49:39 -0000 1.6 +++ ApplicationDispatcher.java 17 Dec 2002 20:06:20 -0000 1.7 @@ -450,6 +450,25 @@ wrequest.setRequestURI(sb.toString()); wrequest.setServletPath(servletPath); wrequest.setPathInfo(pathInfo); + + if (sb.length() > 0) + wrequest.setAttribute(Globals.FORWARD_REQUEST_URI_ATTR, + sb.toString()); + if (contextPath != null) + wrequest.setAttribute(Globals.FORWARD_CONTEXT_PATH_ATTR, + contextPath); + if (servletPath != null) + wrequest.setAttribute(Globals.FORWARD_SERVLET_PATH_ATTR, + servletPath); + if (pathInfo != null) + wrequest.setAttribute(Globals.FORWARD_PATH_INFO_ATTR, + pathInfo); + if (queryString != null) { + wrequest.setAttribute(Globals.FORWARD_QUERY_STRING_ATTR, + queryString); + wrequest.mergeParameters(queryString); + } + if (queryString != null) { wrequest.setQueryString(queryString); wrequest.mergeParameters(queryString); @@ -599,19 +618,19 @@ if (pathInfo != null) sb.append(pathInfo); if (sb.length() > 0) - wrequest.setAttribute(Globals.REQUEST_URI_ATTR, + wrequest.setAttribute(Globals.INCLUDE_REQUEST_URI_ATTR, sb.toString()); if (contextPath != null) - wrequest.setAttribute(Globals.CONTEXT_PATH_ATTR, + wrequest.setAttribute(Globals.INCLUDE_CONTEXT_PATH_ATTR, contextPath); if (servletPath != null) - wrequest.setAttribute(Globals.SERVLET_PATH_ATTR, + wrequest.setAttribute(Globals.INCLUDE_SERVLET_PATH_ATTR, servletPath); if (pathInfo != null) - wrequest.setAttribute(Globals.PATH_INFO_ATTR, + wrequest.setAttribute(Globals.INCLUDE_PATH_INFO_ATTR, pathInfo); if (queryString != null) { - wrequest.setAttribute(Globals.QUERY_STRING_ATTR, + wrequest.setAttribute(Globals.INCLUDE_QUERY_STRING_ATTR, queryString); wrequest.mergeParameters(queryString); } 1.2 +11 -9 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationHttpRequest.java Index: ApplicationHttpRequest.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationHttpRequest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ApplicationHttpRequest.java 18 Jul 2002 16:48:06 -0000 1.1 +++ ApplicationHttpRequest.java 17 Dec 2002 20:06:20 -0000 1.2 @@ -106,9 +106,11 @@ * The set of attribute names that are special for request dispatchers. */ protected static final String specials[] = - { Globals.REQUEST_URI_ATTR, Globals.CONTEXT_PATH_ATTR, - Globals.SERVLET_PATH_ATTR, Globals.PATH_INFO_ATTR, - Globals.QUERY_STRING_ATTR }; + { Globals.INCLUDE_REQUEST_URI_ATTR, Globals.INCLUDE_CONTEXT_PATH_ATTR, + Globals.INCLUDE_SERVLET_PATH_ATTR, Globals.INCLUDE_PATH_INFO_ATTR, + Globals.INCLUDE_QUERY_STRING_ATTR, Globals.FORWARD_REQUEST_URI_ATTR, + Globals.FORWARD_CONTEXT_PATH_ATTR, Globals.FORWARD_SERVLET_PATH_ATTR, + Globals.FORWARD_PATH_INFO_ATTR, Globals.FORWARD_QUERY_STRING_ATTR }; // ----------------------------------------------------------- Constructors @@ -512,8 +514,8 @@ Enumeration names = request.getAttributeNames(); while (names.hasMoreElements()) { String name = (String) names.nextElement(); - if( ! ( Globals.REQUEST_URI_ATTR.equals(name) || - Globals.SERVLET_PATH_ATTR.equals(name) ) ) { + if( ! ( Globals.INCLUDE_REQUEST_URI_ATTR.equals(name) || + Globals.INCLUDE_SERVLET_PATH_ATTR.equals(name) ) ) { Object value = request.getAttribute(name); attributes.put(name, value); }
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>