1

我的问题是双重的:首先我需要从我的 JAX-RS 应用程序中的 web.xml 访问上下文参数。其次,我只需要为应用程序执行一次(应用程序范围)。我正在部署到 tomcat6,如果这有什么不同的话。

  • 问题 1:如何在 JAX-RS 中创建应用程序范围的“bean”
  • 问题 2:在那个 bean 中,我如何从我的 web.xml 访问上下文参数?

干杯!

这似乎不起作用:

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
    }
}
4

1 回答 1

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"); 
}
于 2013-06-27T20:56:51.653 回答