我有一个tomcat运行我的CXF-based webapp。
我使用的方法有这样的签名:
@GET
@Path ("/handler/contract/{ItemId}")
@Produces ("application/xml")
public Item getItem(@PathParam("ItemId") Integer ItemId) throws Exception{
//...
return item;
}
这通常非常有用,因为我不必处理响应/请求对象并涵盖业务逻辑。
但是现在我需要访问本地文件才能将其插入PDF。我查看了此处和文档中的所有项目,但找不到可靠,简单方式来访问上下文或请求以查找webapp的当前路径,以便我可以在爆炸的WAR中访问该文件。
如何获取CXF-webapp的当前本地路径?
答案 0 :(得分: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;
}
感谢您的光临。 :)