#tomcat #cxf
#tomcat #cxf
Вопрос:
У меня есть tomcat, на котором запущено мое веб-приложение на основе CXF.
Методы, с которыми я работаю, имеют такие подписи:
@GET
@Path ("/handler/contract/{ItemId}")
@Produces ("application/xml")
public Item getItem(@PathParam("ItemId") Integer ItemId) throws Exception{
//...
return item;
}
Обычно это очень полезно, поскольку мне не нужно иметь дело с объектами ответа / запроса и охватывать бизнес-логику.
Но теперь мне нужно получить доступ к локальному файлу, чтобы вставить его в PDF. Я просмотрел все элементы здесь и в документе, но не смог найти надежный и простой способ доступа к контексту или запросу, чтобы найти текущий путь к веб-приложению, чтобы я мог получить доступ к файлу в взорванном WAR.
Любая помощь, как получить текущий локальный путь к CXF-webapp?
Ответ №1:
Как всегда, если вы, наконец, написали сообщение, вы сами найдете решение. С @Context
аннотацией вы получите правильный контекст.
@GET
@Path ("/handler/contract/{ItemId}")
@Produces ("application/xml")
public Item getItem(@Context ServletContext context, @PathParam("ItemId") Integer ItemId) throws Exception{
//retrieve the local path from the context
String currentLocalPath = context.getRealPath(".");
//...
return item;
}
Спасибо за посещение. 🙂