如何在Java中使用RESTful Web服务获取远程/客户端IP地址?
问题内容:
我已经在项目中编写了Rest Web服务.Web服务调用可能来自其他计算机。因此我需要通过REST Web服务来查找IP地址。
通过此链接 request.getRemoteAddr() 来使用它。
但是我不能使用getRemoteAddr()。因为我的请求和响应都是xml格式。
我在REST服务.Tomcat服务器中使用了post方法。我已将请求发送为xml格式。
我如何获得IP地址?
问题答案:
假设您正在使用JAX-RS:
@GET
Produces("application/xlm")
public String getData(@Context HttpServletRequest request){
String ip = request.getRemoteAddr();
}
该@Context
注释可以让你的注入情况
- javax.ws.rs.core.HttpHeaders,
- javax.ws.rs.core.UriInfo,
- javax.ws.rs.core.Request,
- javax.servlet.HttpServletRequest,
- javax.servlet.HttpServletResponse,
- javax.servlet.ServletConfig,
- javax.servlet.ServletContext,以及
- javax.ws.rs.core.SecurityContext对象。