1 12 package org.openbravo.base; 13 14 import javax.servlet.ServletException ; 15 import javax.servlet.http.HttpServletRequest ; 16 import org.apache.log4j.Logger; 17 18 public class HttpBaseUtils { 19 public static Logger log4j = Logger.getLogger(HttpBaseUtils.class); 20 21 22 private HttpBaseUtils() { 23 } 24 25 public static String getLocalHostAddress(HttpServletRequest request) { 26 return getLocalHostAddress(request, false); 27 } 28 29 public static String getLocalHostAddress(HttpServletRequest request, boolean includePort) { 30 String scheme = request.getScheme(); 31 String serverName = request.getServerName(); 32 String port = ""; 33 if (includePort) { 34 int p = request.getServerPort(); 35 port = (p == 80) ? "" : ":" + p; 36 } 37 return scheme + "://" + serverName + port; 38 } 39 40 public static String getLocalAddress(HttpServletRequest request) { 41 String host = getLocalHostAddress(request, true); 43 return host + request.getContextPath(); 44 } 45 46 public static String getRelativeUrl(HttpServletRequest request, String url) { 47 if (!url.startsWith(getLocalHostAddress(request, true) + "/")) return url; 48 url = url.replace((getLocalHostAddress(request, true) + "/"), ""); 49 String actualServlet = request.getContextPath() + request.getServletPath(); 50 if (actualServlet.startsWith("/")) actualServlet = actualServlet.substring(1); 51 int i = actualServlet.indexOf("/"); 52 while (i!=-1) { 53 if (url.startsWith(actualServlet.substring(0, i))) url = url.replace(actualServlet.substring(0, i+1), ""); 54 else url = "../" + url; 55 actualServlet = actualServlet.substring(i+1); 56 i = actualServlet.indexOf("/"); 57 } 58 return url; 59 } 60 } 61 | Popular Tags |