public void commence(HttpServletRequest request, HttpServletResponse response)
			throws IOException, ServletException {
		String queryString = request.getQueryString();
		String redirectUrl = request.getRequestURI()
				+ ((queryString == null) ? "" : ("?" + queryString));

		Integer currentPort = Integer.valueOf(portResolver.getServerPort(request));
		Integer redirectPort = getMappedPort(currentPort);

		if (redirectPort != null) {
			boolean includePort = redirectPort.intValue() != standardPort;

			redirectUrl = scheme + request.getServerName()
					+ ((includePort) ? (":" + redirectPort) : "") + redirectUrl;
		}

		if (logger.isDebugEnabled()) {
			logger.debug("Redirecting to: " + redirectUrl);
		}

		redirectStrategy.sendRedirect(request, response, redirectUrl);
	}