使用jersey ServletContainer时从web.xml获取配置数据
我正在使用泽西在Tomcat中创建一个webapp。 我还没有创建一个Servlet,我只使用了jersey ServletContainer和一些Resource类。
我的web.xml:
Jersey REST Service com.sun.jersey.spi.container.servlet.ServletContainer com.sun.jersey.config.property.packages com.mycompany.myproduct.rest 1 Jersey REST Service /*
我的webapp需要读取一些配置值。 我的印象是这样做的好方法是使用context-Params,如下所示:
... This is a context parameter example ContextParam ContextParam value
这是最好的方法吗? 如何从我的资源类中访问这些上下文参数?
这是一个示例资源类:
@Path("/api/ping") public class PingResource { @GET @Produces(MediaType.TEXT_PLAIN) public String helloWorld() { return "pong"; } }
您可以注入ServletContext
并从那里查找参数。 就像是:
public class PingResource { @Context ServletContext context; public String myServiceMethod() { context.getInitParam("ContextParam"); } }
下面是为我工作的快照:)
//添加导入
import javax.servlet.ServletContext; import javax.ws.rs.core.Context;
//在你的类中添加属性
@Context ServletContext context;
//在方法中使用上下文参数
String companyName = this.context.getInitParameter("companyName");
//将上下文添加到web.xml
Context Parameter Test companyName Test Organization, Incorporated