我的问题是双重的:首先,我需要从JAX-RS应用程序中的web.xml访问上下文参数。其次,我只需要对应用程序(作用域内的应用程序)执行一次。如果有任何区别,我将部署到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
    }
}

最佳答案

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");
}

关于tomcat - 如何在应用程序范围内从JAX-RS服务中的web.cml检索参数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17316748/

10-14 10:13