在web开发中有时会遇到未登陆不能转到指定页面的问题,于是提示用户登陆并且跳到登陆页面,用户登陆成功后要继续跳转到指定页面,但是跳转到指定页面就必须知道指定页面的URL地址,于是就必须在登陆页面的后台处理中获取请求的URL地址,于是写了工具类,专门用来获取每次发出请求的完全URL地址.
示例:
//用来获取每个URL请求的完全链接,附带请求参数
public static String getUrl(HttpServletRequest request , HttpServletResponse response){
StringBuffer uri = request.getRequestURL();
String url = uri.toString();
//获取所有请求,返回Map集合,遍历
Map<String, String[]> map = request.getParameterMap();
Set<Entry<String, String[]>> entry = map.entrySet();
Iterator<Entry<String, String[]>> iterator = entry.iterator();
//遍历集合
StringBuffer sb = new StringBuffer();
while(iterator.hasNext()){
Entry<String, String[]> item = iterator.next();
//请求名
String key = item.getKey();
//请求值
for(String value : item.getValue()){
//拼接每个请求参数 key=value&
sb.append(key+"="+value+"&");
}
}
String string = sb.toString();
//拼接URL, URL?key=value&key=value& 并且去掉最后一个&
url = url+"?"+string.substring(0, string.lastIndexOf("&"));
return url;
}