一尘不染

如何在jax-rs中使用属性文件?

tomcat

我刚刚开始使用在Tomcat上运行的jax-
rs来设置Web服务。有没有一种方法可以将属性文件与我的Java项目捆绑在一起(在Eclipse中),以便我可以在运行时从中读取属性?另外,如果可能的话,将其放置在最佳位置(以便无法通过url看到),WebContent,WEB-
INF等在哪里?

谢谢。


阅读 222

收藏
2020-06-16

共1个答案

一尘不染

几种选择:

选项1:可以将其放在类路径下(在Eclipse中,将其放在源文件夹下),因此可以通过Classloader访问它:
MyClass.class.getResourceAsStream("myproperties.properites")

请注意,MyClass也必须位于相同的源文件夹中(实际上有点复杂,它必须位于相同的类加载器层次结构中,但是同一文件夹中的任何类都可以完成此工作)

选项2:将其放在WEB-
INF文件夹中。这是首选方法,因为您不需要处理类路径。您将需要一个ServletContext来访问它:javax.servlet.ServletContext.getResourceAsStream("WEB- INF/myproperties.properites")

在jax-rs中,您可以在任何已注册资源或提供程序中使用@Context批注获取ServletContext。

2020-06-16