Tomcat:如何访问Apache CXF-webapp中的本地文件?

时间:2011-11-01 12:02:26

标签: tomcat cxf

我有一个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的当前本地路径?

1 个答案:

答案 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;
}

感谢您的光临。 :)