我正在尝试从驻留在我的web.xml上的servlet init-params中读取一些参数,并通过程序中的变量使它们可访问。我想我可以使用等效于 HttpServlet 的 init(( 方法。
这个问题有一个解决方案:泽西岛 JAX-RS Web 服务中的 init 方法。
我认为第一个解决方案可能对我有用,但问题是 ServletContextEvent 只能访问上下文参数标签中定义的参数,我需要从我自己的 servlet init-params 值中获取它们。
我不想将参数从我的servlet移动到上下文参数标签中,因为这些参数实际上只与该特定的servlet相关。
有人可以指出我正确的方向吗?
使用 Jersey,所有 init-param 都可以在一个 Configuration
对象中使用,您几乎可以在任何您想要的地方注入它; 资源、过滤器等。
@Path("test")
public class SomeResource {
@Context
private Configuration configuration;
@GET
public String get() {
return (String) configuration.getProperty(InitParams.MY_INIT_PARAM);
}
}
另请参阅:
- 使用泽西岛配置属性。如果你想"使它们可以通过变量访问",你可以按照这个例子