Мне интересно, можно ли отправить запрос с сервлета на ресурс класса Джерси (JAX-RS). Я пытаюсь это сделать, но он, похоже, не работает, и, согласно моей регистрации, ресурс трикотажа никогда не достигается.Как отправить запросы сервлетов на методы ресурсов Джерси
Примеры кода приведены ниже. Почему-то я пытаюсь сделать невозможным?
Обратите внимание, что ресурс Джерси работает правильно, когда я обращаюсь к нему напрямую в веб-браузере через адресную строку.
Также обратите внимание, что «RequestDispatcher.forward()» работает должным образом. Это просто «включить», которого нет.
сервлет
//The Jersey dispatcher url-filter is set to '/api/*'
String servletID = "/api/items";
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(servletID);
dispatcher.include(request, response);
Джерси ресурс
@GET @Path("/items")
@Produces ({MediaType.TEXT_XML})
public JAXBElement<Items> getItems(@PathParam("project") String project) throws IOException, JAXBException {
log.debug("reached getItems");
//Omitted code that returns 'Items' object wrapped in JAXBElement
}
Соответствующие части web.xml
<servlet>
<servlet-name>jerseyDispatcher</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>uk.co.web.api.resource</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>jerseyDispatcher</servlet-name>
<url-pattern>/api/*</url-pattern>
</servlet-mapping>
Пожалуйста, введите код, который создает 'диспетчер'. –
@ LutzHorn Я отредактировал этот вопрос, чтобы включить это сейчас – Paul
Вы пришли к выводу, как добиться этого с Джерси? – tareq