Author: markt Date: Fri Nov 27 12:03:06 2015 New Revision: 1716856 URL: http://svn.apache.org/viewvc?rev=1716856&view=rev Log: Refactor - reduce duplication - use a StringBuilder
Modified: tomcat/trunk/java/org/apache/catalina/servlets/DefaultServlet.java Modified: tomcat/trunk/java/org/apache/catalina/servlets/DefaultServlet.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/servlets/DefaultServlet.java?rev=1716856&r1=1716855&r2=1716856&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/servlets/DefaultServlet.java (original) +++ tomcat/trunk/java/org/apache/catalina/servlets/DefaultServlet.java Fri Nov 27 12:03:06 2015 @@ -337,36 +337,30 @@ public class DefaultServlet extends Http // This method must construct a complete context rooted path, although // subclasses can change this behaviour. - // Are we being processed by a RequestDispatcher.include()? - if (request.getAttribute( - RequestDispatcher.INCLUDE_REQUEST_URI) != null) { - String result = (String) request.getAttribute( - RequestDispatcher.INCLUDE_PATH_INFO); - if (result == null) { - result = (String) request.getAttribute( - RequestDispatcher.INCLUDE_SERVLET_PATH); - } else { - result = (String) request.getAttribute( - RequestDispatcher.INCLUDE_SERVLET_PATH) + result; - } - if ((result == null) || (result.equals(""))) { - result = "/"; - } - return (result); - } + String servletPath; + String pathInfo; - // No, extract the desired path directly from the request - String result = request.getPathInfo(); - if (result == null) { - result = request.getServletPath(); + if (request.getAttribute(RequestDispatcher.INCLUDE_REQUEST_URI) != null) { + // For includes, get the info from the attributes + pathInfo = (String) request.getAttribute(RequestDispatcher.INCLUDE_PATH_INFO); + servletPath = (String) request.getAttribute(RequestDispatcher.INCLUDE_SERVLET_PATH); } else { - result = request.getServletPath() + result; + pathInfo = request.getPathInfo(); + servletPath = request.getServletPath(); + } + + StringBuilder result = new StringBuilder(); + if (servletPath != null) { + result.append(servletPath); + if (pathInfo != null) { + result.append(pathInfo); + } } - if ((result == null) || (result.equals(""))) { - result = "/"; + if (result.length() == 0) { + result.append('/'); } - return (result); + return result.toString(); } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org