如何获取客户的地址 IP 在 Spring bean

我有一个定义 Spring 鲍勃。


<beans>
<bean class="edu.wustl.catissuecore.CaTissueApplictionServicImpl" id="remoteService"></bean>
</beans>


有没有办法获得地址 IP 客户在这堂课? 类似于servlet中可用的
request.getRemoteAddr//

;
已邀请:

郭文康

赞同来自:

最简单的 /最难看的/ 使用方法
RequestContextHolder

:


String remoteAddress = //ServletRequestAttributes/RequestContextHolder.currentRequestAttributes///
.getRequest//.getRemoteAddr//;


不了解更多关于你的鲍勃和关于它的连接方式,这是我可以提供的最好的。 如果您的鲍勃是控制器 /或亚类
AbstractController

, 或注释
@Controller

/, 它应该能够直接访问请求对象。

小姐请别说爱

赞同来自:

获取客户端的IP地址的最佳方法是整理头条新闻


private static final String[] IP_HEADER_CANDIDATES = {
"X-Forwarded-For",
"Proxy-Client-IP",
"WL-Proxy-Client-IP",
"HTTP_X_FORWARDED_FOR",
"HTTP_X_FORWARDED",
"HTTP_X_CLUSTER_CLIENT_IP",
"HTTP_CLIENT_IP",
"HTTP_FORWARDED_FOR",
"HTTP_FORWARDED",
"HTTP_VIA",
"REMOTE_ADDR" };

public static String getClientIpAddress/HttpServletRequest request/ {
for /String header : IP_HEADER_CANDIDATES/ {
String ip = request.getHeader/header/;
if /ip != null && ip.length// != 0 && !"unknown".equalsIgnoreCase/ip// {
return ip;
}
}
return request.getRemoteAddr//;
}

小明明

赞同来自:

建立这个:


@Autowired/required = true/
private HttpServletRequest request;


和这样的用途:


request.getRemoteAddr//

要回复问题请先登录注册