导入jar包
import java.net.InetAddress;
import java.net.UnknownHostException;import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang.StringUtils;
import org.apache.cxf.message.Message;
import org.apache.cxf.phase.PhaseInterceptorChain;
import org.apache.cxf.transport.http.AbstractHTTPDestination;
import org.apache.log4j.Logger;//日志包
public class ClientUtil {
private static Message message = PhaseInterceptorChain.getCurrentMessage();
private static Logger logger = Logger.getLogger(ClientUtil.class);
/**
* 获取客户端的IP地址的方法
* @return IP
* @author
* @date
*/
public static String getRemoteAddr(){
logger.debug("请求获取当前客户端的IP地址");
try {
HttpServletRequest httprequest = (HttpServletRequest)message.get(AbstractHTTPDestination.HTTP_REQUEST);
return httprequest.getRemoteAddr();
} catch (Exception e) {
// TODO: handle exception
logger.error("请求获取当前客户端的IP地址发生异常",e);
}
return null;
}
/**
* 获取客户端机器名
* @return
* @author
* @date
*/
public static String getRemoteHost(){
try {
logger.debug("请求获取当前客户端的计算机名");
HttpServletRequest httprequest = (HttpServletRequest)message.get(AbstractHTTPDestination.HTTP_REQUEST);
return httprequest.getRemoteHost();
} catch (Exception e) {
// TODO: handle exception
logger.error("请求获取当前客户端的计算机名发生异常",e);
}
return null;
}
/**
* 获取客户端访问的远端端口
* @return
* @author
* @date
*/
public static int getRemotePort(){
try {
HttpServletRequest httprequest = (HttpServletRequest)message.get(AbstractHTTPDestination.HTTP_REQUEST);
return httprequest.getRemotePort();
} catch (Exception e) {
// TODO: handle exception
logger.error("请求获取当前客户端的端口发生异常",e);
}
return 0;
}
/**
* 获取客户端访问用户
* @return
* @author
* @date
*/
public static String getRemoteUser(){
try {
HttpServletRequest httprequest = (HttpServletRequest)message.get(AbstractHTTPDestination.HTTP_REQUEST);
return httprequest.getRemoteUser();
} catch (Exception e) {
// TODO: handle exception
logger.error("请求获取当前客户端的访问用户发生异常",e);
}
return null;
}
/**
* 获取本机IP
* @return
* @author
* @date
*/
public static String getLocalAddr(){
try {
InetAddress addr = InetAddress.getLocalHost();
return addr.getHostAddress();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
logger.error("获取本机的IP发生异常",e);
}
return null;
}