java web很常用的功能代码,可以配合实现ip白名单控制,直接贴代码:
public class clientinfoutil{
/**
* 获得客户端的ip地址
* @param request
* @return
*/
static public string getip(httpservletrequest request) {
string ip = request.getheader("x-forwarded-for");
if(ip == null || ip.length() == 0 || "unknown".equalsignorecase(ip)) {
ip = request.getheader("proxy-client-ip");
}
if(ip == null || ip.length() == 0 || "unknown".equalsignorecase(ip)) {
ip = request.getheader("wl-proxy-client-ip");
}
if(ip == null || ip.length() == 0 || "unknown".equalsignorecase(ip)) {
ip = request.getremoteaddr();
}
return ip;
}
/**
* 获得客户端访问服务器的url地址
* @param request
* @return
*/
static public string geturl(httpservletrequest request) {
string url = request.getscheme()+"://";
url+=request.getheader("host");
url+=request.getrequesturi();
if(request.getquerystring()!=null) {
url+="?"+request.getquerystring();
}
return url;
}
}
如对本文有疑问, 点击进行留言回复!!
【java基础】面试常见问题:类和对象,封装继承多态,final关键字,static关键字,类加载过程,双亲委派模型
荐 Java语言基础之JDK1.8新特性(Lambda表达式、函数式接口、Stream流、新的日期API)
网友评论