JAX-RS 中的 Servlet init() 方法



我正在尝试从驻留在我的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);
    }
}

另请参阅:

  • 使用泽西岛配置属性。如果你想"使它们可以通过变量访问",你可以按照这个例子

最新更新