private String getFullUrl(HttpServletRequest request){
StringBuffer url = new StringBuffer();
String scheme = request.getScheme();
int port = request.getServerPort();
if (port < 0)
port = 80; // Work around java.net.URL bug
url.append(scheme);
url.append("://");
url.append(request.getServerName());
if ((scheme.equals("http") && (port != 80))
|| (scheme.equals("https") && (port != 443))) {
url.append(':');
url.append(port);
}
url.append(request.getRequestURI());
String queryString = request.getQueryString();
if(queryString != null)
url.append('?')
.append(queryString);
return url.toString();
}