SessionBean中的Session与JSP或Servlet中的Session是没有关系的,应是由SessionBean处理完的结果放到Jsp或Servlet中的Session。
而有状态SessionBean只是在我们调用它进行处理时SessionBean中的数据是你所独享的而已。

解决方案 »

  1.   

    谢谢楼上的,但是我还是不明白,我举个简单的例子吧。
    一个银行帐户的StatefulAccount,提供一个addFunds和removeFunds以及一个getBalance,我在JSP中,有add,和一个remove按钮提交到Servlet,然后再返回到这个JSP中来显示当前的Balance,如果我用如下代码,那每次提交上来以后,StatefulAccount都会是新建的,而不会和以前的有关系。 InitialContext ctx=new InitialContext();
             Object objRef = ctx.lookup("ejb/StatefulAccountHome");
    SStatefulAccountHome home=(StatefulAccountHome)           javax.rmi.PortableRemoteObject.narrow(objRef,StatefulAccountHome.class);
    StatefulAccount bean = home.create();
      

  2.   

    如果象你所说的状况,就应该 Entity Bean.你的代码正好说明了你每次用StatefulAccount bean = home.create();
    都是重新建立了一个 bean instance, 当然不会有以前的内容.如果你实在果真当然确信坚持要Stateful Session Bean,花点时间看看
    ejbPassiveate, ejbActivate 方法. 但是用Entity Bean是正道