我的 Jersey REST api 中有一个资源,它有一个私有实例变量:
@Path("test")
public class TestResource implements ServletContextListener
{
private String someString;
@GET
public void test()
{
System.out.println("someString " + someString);
}
@Override
public void contextDestroyed(ServletContextEvent ctxt) {
System.out.println("Destroying context");
}
@Override
public void contextInitialized(ServletContextEvent ctxt) {
System.out.println("TestResource initialized!");
someString = "SET";
System.out.println("someString has been set. someString: " + someString);
}
}
在服务器启动/重新启动时,实例变量someString被初始化contextInitialized()并正确打印出来。但是,当我将GET请求设置为http://localhost:8080/myapp/api/test(即调用test()上面的方法)时,变量someString是null.
我怎样才能防止这种情况?