[java] Java Jersey에서 요청의 IP 주소 또는 사용자 에이전트 정보를 추출하는 방법은?
Jersey는 Java에서 RESTful 웹 서비스를 구축하기위한 프레임워크입니다. Jersey를 사용하여 클라이언트의 IP 주소 또는 사용자 에이전트 정보를 추출하는 방법은 다음과 같습니다.
IP 주소 추출하기:
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.core.Context;
@Path("/example")
public class ExampleResource {
@GET
public String getIpAddress(@Context HttpServletRequest request) {
String ipAddress = request.getRemoteAddr();
return "클라이언트의 IP 주소: " + ipAddress;
}
}
위의 예제에서 @Context HttpServletRequest request
어노테이션을 사용하여 HttpServletRequest 객체를 주입 받습니다. request.getRemoteAddr()
메소드를 사용하여 클라이언트의 IP 주소를 가져올 수 있습니다.
사용자 에이전트 정보 추출하기:
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.core.Context;
@Path("/example")
public class ExampleResource {
@GET
public String getUserAgent(@Context HttpServletRequest request) {
String userAgent = request.getHeader("User-Agent");
return "사용자 에이전트 정보: " + userAgent;
}
}
마찬가지로 @Context HttpServletRequest request
어노테이션을 사용하여 HttpServletRequest 객체를 주입 받습니다. request.getHeader("User-Agent")
메소드를 사용하여 클라이언트의 사용자 에이전트 정보를 가져올 수 있습니다.
위의 코드 예제에서 주의해야 할 점은 배포 환경에 따라 HttpServletRequest
객체를 가져오기 위해 Jersey에서 제공하는 지원이 필요할 수 있다는 것입니다.