2012-06-28 2 views
2

Вот мой Джерси Обслуживание и я доступ к сервису с помощью URLразрешения Пути Джерси

http://host:port/contextroot/welcome/data 

Когда я карта сервлета-Джерси/приема/* - я получаю об ошибке 404. Но когда я говорю/* в web.xml, мой запрос проходит отлично. Я не хочу, чтобы все запросы в моем веб-магазине проходили через майку. Как мне ограничить путь только запросами с помощью/welcome?

@Path("/welcome") 
public class WelcomeRestJson { 

    @POST 
    @Path("/data") 
    @Produces("text/plain") 
    @Consumes("application/json") 

    public String processPostData(MyObject myObject) { 
     System.out.println("Inside processPostData"); 
     return "success"; 
    } 

}

ответ

2

При сопоставлении сервлета с/welcome/* просто измените шаблон пути корневого ресурса (WelcomeRestJson) из @Path ("/ welcome") на @Path ("/") - таким образом, тот же URL (http://host:port/contextroot/welcome/data) будет работать по-прежнему.

+0

Спасибо. Это сработало. – user238021

0

Карта/Добро пожаловать/* в web.xml:

<servlet> 
    <servlet-name>ServletAdaptor</servlet-name> 
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>ServletAdaptor</servlet-name> 
    <url-pattern>/welcome/*</url-pattern> 
</servlet-mapping> 

Тогда вы можете позвонить WebServices в/прием и остальных запросов на различных трассах.

Смежные вопросы