这里记录一下开发webservice接口需要获取客户端IP之类的需求获取HTTPRequest实例对象,本人也是看了好多博客,发现很多都是没有什么卵用的。OK,说正事。
用的是xfire的一个包(截图中有具体到那个包):
import org.codehaus.xfire.transport.http.XFireServletController;
HttpServletRequest request = XFireServletController.getRequest();

附获取IP方法:
public static String getIpAddr(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 || "unknow".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
return ip;
}