У мене є сервіс Jetty, який я запускаю з Jetty програмно. У мене в класі Jetty пакет package.of.my.jersey. Я налаштовую сервер таким чином:
ServletContextHandler context = new ServletContextHandler();
context.setContextPath("/test");
Map<String, Object> initMap = new HashMap<String, Object>();
initMap.put("com.sun.jersey.api.json.POJOMappingFeature", "true");
initMap.put("com.sun.jersey.config.property.packages",
"package.of.my.jersey");
context.addServlet(new ServletHolder(new ServletContainer(
new PackagesResourceConfig(initMap))), "/newValue/*");
Я запускаю послугу через "java -jar nameOfTheService.jar", і отримати сервіс працює правильно для методів, які піддається класу Джерсі.
У мене також є деякі HTML-сторінки вjava / main / ресурси / package / of.my.jersey, і я хочу отримати доступ до них. Проблема в тому, що я не знаходжу жодного способу отримати доступ до нього. Чи все ж є можливість дозволити іншим ресурсам запускати дзвінки через http у тій же службі?
Заздалегідь спасибі!
Відповіді:
2 для відповіді № 1FYI: Використання "dropwizard" полегшує життя. У ньому використовуються Jetty для HTTP, Джерсі для REST, Джексон для JSON та інші добрі речі для щоденної роботи.