我的问题有两个:首先我需要从我的JAX-RS应用程序中的web.xml访问一个context参数。其次,我只需要为应用程序(应用程序作用域)执行一次。我正在部署到tomcat6,如果这有任何区别。
干杯!
这似乎不起作用:
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
}
}
答案 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");
}