Пример #1
0
  /**
   * 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;
  }