在后续RPC调用之间访问servlet上的存储对象

时间:2013-01-06 12:18:14

标签: java gwt servlets

是否可以在一个RPC请求期间在servlet中创建对象,然后访问同一个对象以进行下一次调用。在这里,我在一个RPC请求(createInstanceParams)中创建一个对象“模型”然后我返回到客户端,到其他一些东西并进行另一个调用。我的对象“模型”是否会从之前的调用中保存,或者我是否必须重新创建它。每次调用我都会在“模型”对象中进行一些更改,因此了解它是否可行非常重要。而且,如果可能的话,一个例子就是优秀的。谢谢。这是我的代码:

public class UpdateModelServiceImpl extends RemoteServiceServlet implements UpdateModelService {


public Model model;


@Override
public void createInstanceParam(double[] param, ClientModel m) {
    model = new Model(m);
    model.createInstanceParams(param);
}

@Override
public boolean inputFile(String name) {

    return model.inputFile(name);
}

@Override
public ClientModel updateClientModel(ClientModel m) {

    /** 
        model = new Model(m);

        if(...){
            model.inputFile(m.getFileName());
        }
        else if (...){
            model.createInstanceParams(m.getParamList());
    }
    */
    return model.updateClientModel(m);
}
}

1 个答案:

答案 0 :(得分:1)

是的,您可以将对象存储在用户会话中:

getThreadLocalRequest().getSession().setAttribute("id", obj);

然后在下一个rpc调用中访问它:

getThreadLocalRequest().getSession().getAttribute("id");