0

是否可以在一个 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);
}
}
4

1 回答 1

1

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

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

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

getThreadLocalRequest().getSession().getAttribute("id");
于 2013-01-06T16:22:57.190 回答