不同的用户登录后,创建了不同subject !

解决方案 »

  1.   

    刚刚写了一个类似的jsp利用session解决了问题:
    <%@ page contentType="text/html; charset=Shift_JIS" language="java" import="java.sql.*"   %>
    <%@ page import = "CartHome,Cart, javax.ejb.*,javax.naming.Context,javax.naming.InitialContext,javax.rmi.PortableRemoteObject,java.util.* "%>
    <%!
    private Cart shopCart = null;
    private CartHome home = null;
    public void jspInit() {
    try{
    Context initCtx = new InitialContext();
    Object obj = initCtx.lookup( "java:comp/env/ejb/stateful" );
    home= ( CartHome )PortableRemoteObject.narrow( obj, CartHome.class );
    } catch( Exception ex ) {
    ex.printStackTrace();
    }
    }
    %>
    <HTML>
    <HEAD>
    <TITLE>stateful</TITLE>
    <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
    </HEAD>
    <BODY>
    <%
    if( session.isNew() ) {
    shopCart = home.create( "hhf", "44" );
    session.setAttribute( "myCart" , shopCart );} else {
    shopCart = (Cart)session.getAttribute("myCart");
    }
    String butn = request.getParameter("addBook");
    String bookName = request.getParameter("bookName");
    if( bookName == null || butn == null) {
    out.print( bookName + "<p/>");
    out.print( butn + "<p/>");
    } else {
    if( butn.equals( "add" ) ) {
    shopCart.addBook( bookName );
    }
    Vector bookList = shopCart.getContents();
    for( int i = 0; i < bookList.size(); i ++ ) {
    %>
    <%=( String )bookList.get( i )%><P/>&nbsp;&nbsp;
    <%
    }
    }
    %>
    <FORM method="post">
    <INPUT type="text" size="33" name="bookName">
    <INPUT type="submit" name="addBook" value="add">
    </FORM>
    </BODY>
    </HTML>
    这个jsp同时有多少客户用都没有问题,希望能有点帮助,不过这只是个实验的程序,真正的这些操作事实上应该在bean里面去做。
      

  2.   

    这跟Stateful session EJB 有关系吗?