Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
  * the License.  You may obtain a copy of the License at
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * See the License for the specific language governing permissions and
 * limitations under the License.
package org.apache.catalina.ssi;
public class SSIServletRequestUtil {
Return the relative path associated with this servlet. Taken from Perhaps this should be put in org.apache.catalina.util somewhere? Seems like it would be widely used.

request The servlet request we are processing
    public static String getRelativePath(HttpServletRequest request) {
        // Are we being processed by a RequestDispatcher.include()?
        if (request.getAttribute("javax.servlet.include.request_uri") != null) {
            String result = (String)request
            if (result == null)
                result = (String)request
            if ((result == null) || (result.equals(""))) result = "/";
            return (result);
        // No, extract the desired path directly from the request
        String result = request.getPathInfo();
        if (result == null) {
            result = request.getServletPath();
        if ((result == null) || (result.equals(""))) {
            result = "/";
        return normalize(result);

Return a context-relative path, beginning with a "/", that represents the canonical version of the specified path after ".." and "." elements are resolved out. If the specified path attempts to go outside the boundaries of the current context (i.e. too many ".." path elements are present), return null instead. This normalize should be the same as DefaultServlet.normalize, which is almost the same ( see source code below ) as RequestUtil.normalize. Do we need all this duplication?

path Path to be normalized
    public static String normalize(String path) {
        return RequestUtil.normalize(path);
New to GrepCode? Check out our FAQ X