如何在应用程序范围内的JAX-RS服务中从web.cml中检索参数?

时间:2013-06-26 09:47:05

标签: tomcat jax-rs

我的问题有两个:首先我需要从我的JAX-RS应用程序中的web.xml访问一个context参数。其次,我只需要为应用程序(应用程序作用域)执行一次。我正在部署到tomcat6,如果这有任何区别。

  • 问题1:如何在JAX-RS
  • 中创建应用程序作用域'bean'
  • 问题2:在那个bean中,我如何从web.xml访问context-param?

干杯!

这似乎不起作用:

import javax.annotation.PostConstruct;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.core.Context;
import com.sun.jersey.spi.resource.Singleton;

@Singleton
public class ApplicationBean 
{
    @Context
    HttpServletRequest request;

    @PostConstruct
    public void init()
    {
        // do stuff
    }
}

1 个答案:

答案 0 :(得分:2)

Q1:@Singleton注释会使你的资源成为一个

Q2:您可以在JAX-RS资源中注入请求对象,并从那里获取任何上下文参数:

@GET
@Path("/my")
public String get(@Context HttpServletRequest request) {
    request.getServletContext().getInitParameter("my-param");

@Context 
HttpServletRequest request;

@PostConstruct
public void init() {
    request.getServletContext().getInitParameter("my-param"); 
}