/** * Build a redirect url. * * @param request the request * @param response the response * @param url the target url to redirect to * @return the url */ public static String buildRedirectUrl( final HttpServletRequest request, final HttpServletResponse response, final String url) { if (!url.startsWith("http://") && !url.startsWith("https://")) { String scheme = request.getScheme(); int serverPort = RESOLVER.getServerPort(request); boolean inHttp = "http".equalsIgnoreCase(scheme); boolean inHttps = "https".equalsIgnoreCase(scheme); boolean includePort = !((inHttp && serverPort == 80) || (inHttps && serverPort == 443)); String port = includePort ? ":" + serverPort : ""; return scheme + "://" + request.getServerName() + port + request.getContextPath() + url; } return url; }