+\r
+ private static String getURL(HttpServletRequest req) {\r
+ String scheme = req.getScheme(); // http\r
+ String serverName = req.getServerName(); // hostname.com\r
+ int serverPort = req.getServerPort(); // 80\r
+ String contextPath = req.getContextPath(); // /mywebapp\r
+ String servletPath = req.getServletPath(); // /servlet/MyServlet\r
+ String pathInfo = req.getPathInfo(); // /a/b;c=123\r
+ String queryString = req.getQueryString(); // d=789\r
+\r
+ // Reconstruct original requesting URL\r
+ StringBuffer url = new StringBuffer();\r
+ url.append(scheme).append("://").append(serverName);\r
+\r
+ if ((serverPort != 80) && (serverPort != 443)) {\r
+ url.append(":").append(serverPort);\r
+ }\r
+\r
+ url.append(contextPath).append(servletPath);\r
+\r
+ if (pathInfo != null) {\r
+ url.append(pathInfo);\r
+ }\r
+ if (queryString != null) {\r
+ url.append("?").append(queryString);\r
+ }\r
+ return url.toString();\r
+ }\r
+\r