Java-Джерси: получить IP-адрес клиента в методе отдыха на Tomcat - PullRequest
2 голосов
/ 27 мая 2011

У меня есть веб-сервис отдыха Джерси, который работает на tomcat 6. У меня есть метод @Post, который использует Multipart:

@Path("identify")   
@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.APPLICATION_XML)
    public String identifyReception(com.sun.jersey.multipart.MultiPart multiPart) throws Exception {

Я хотел бы получить IP-адрес клиента внутри этого метода.Я обнаружил, что вы можете использовать @Context HttpServletRequest внутри метода Get.Но в методе post мне нужен входной аргумент multipart.Я также узнал, что Tomcat не поддерживает спецификацию сервлета ...

Есть ли другой способ сделать это?

1 Ответ

3 голосов
/ 28 мая 2011

Я обнаружил, что вы можете использовать @Context HttpServletRequest внутри метода Get. Но в методе post мне нужен входной аргумент, состоящий из нескольких частей.

Я не думаю, что они взаимоисключающие. Пусть ваш метод принимает два аргумента (я не думаю, что имеет значение, в каком порядке они находятся) и помечает один из них @Context. Я верю, что это сработает, будь то почта, почта, что угодно. Вы также можете просто аннотировать поле с помощью @Context, и Джерси инициализирует его для вас перед вызовом вашего метода @GET.

...