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]>

Reply via email to