我的 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
.
我怎样才能防止这种情况?