Newsgroup: it.comp.java
Titolo: JSP ed EJB

Salve a tutti
Ho il seguente problema, Dopo aver creato un EJB di tipo session
stateful lo istanzio in una servlet
public class controller extends HttpServlet 
{
//Questo e'  EJB 
  ContoHome contoHome;
  Conto contocorrente;
  public void init(ServletConfig config) throws ServletException
  {
    super.init(config);
try
    {
//Registro il Bean presso il JNDI
      Context context = getInitialContext();
      contoHome =
(ContoHome)PortableRemoteObject.narrow(context.lookup("Conto"),
ContoHome.class);
    }
    catch(Throwable ex)
    {
      ex.printStackTrace();
    }  
 
  }
public void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException
  {
    Double temp = new Double(request.getParameter("metti"));
      try {contocorrente.versa(temp.doubleValue());
            String statoAzione="Hai inserito " + temp.toString() ;
            contocorrente.setStatoAzione(statoAzione);
      }
      catch(Throwable ex)
    {
      ex.printStackTrace();
    }  
    request.setAttribute("contocorrente",contocorrente);
    ServletContext sc = this.getServletContext();
   RequestDispatcher rd = sc.getRequestDispatcher("/home.jsp");
    rd.forward( request, response );
  }
Fin qui la servlet che istanzia il bean, poi nella JSP che deve usare
lo stesso Bean lo richiamo con 
<jsp:useBean id="contocorrente" scope="session"
class="pay.ccl.ContoBean" />
 
Pero' non va, ossia viene creato un nuovo Bean perdendo i dati
precedenti.
Sapete come risolvere?
Ciao e grazie
 

 
Credo che ti manchi l'inizializzazione di "contocorrente". Dovresti 
avere qualcosa tipo
   contocorrente = contoHome.create(...);
in doGet(...). Altrimenti "contocorrente" nella servlet è sempre null e 
la jsp si crea una nuova istanza di pay.ccl.ContoBean.
Ciao.
\mirko

>    contocorrente = contoHome.create(...);
Oltre a questo, evita di mettere proprieta' a livello di classe in una
servlet .... hai presente quali effetti collaterali puoi avere ? :)
--
Fabrizio Marini
E-mail: 
f.ma...@k-tech.it
E-mail: 
fabry....@mclink.it
K-Tech S.r.l.
Company Partner
Via Tibullo, 13
00193 - Rome (RM) - Italy
Phone: +39 (0) 6 68301467
http://www.k-tech.it
http://www.javaportal.it

\mirko
L'inizializzazione la faccio, emh ho dimenticato di scriverla ;-)
pero' non va uguale, uso l'AS embedded di Jdeveloper, ma non vuole
saperne di funzionare, durante il deploy c'e' un unico messaggio di
errore, non riesce ad inizializzare l'ORB.
Bah non so che pesci prendere
Grazie.
Inoltre uso proprieta' di classe all'interno della servlet, per
evitare che ad ogni chiamata venga istanziato un nuovo bean,
sicuramente c'e' qualcosa che non mi e' chiaro, dovro' studiare di
piu' :D

 wrote in message
news:7kbbvushbjueoc5nn...@4ax.com...


Ciao
Questo "non e' un problema", sono esercizi per impare ad usarli, visto
che le prossime applicazioni che dovro fare usano la tecnologia J2EE,
faccio un po' di training.
Ciao e grazie per la tua disponibilita'.
Gianluca


Hai ragione, ma occhio che nell'init ancora non esiste una HttpSession,
forse volevi dire nel ServletContext (ancora + rischioso) ;)?
Ciao
Giuseppe

 wrote in message
news:at9ecb$joh$1...@newsreader1.mclink.it...


se apri una JSP trasformata in .java
troverai la soluzione al tuo problema....
guarda come traduce il tag <%usebean
se vuoi lunedì dall'ufficio ti mando un'esempio, sinceramente a
memoria non me lo ricordo proprio...
ma è molto semplice, sono 3 righe di codice autogenerato.



Grazie molto per la disponibilita', altre cosa che ho capito da un po'
di debug che ho fatto e' che la sessione non viene conservata :( non
capisco il perche'
Cmq l'esempio che mi dicevi e' ben gradito :D
Ciao e grazie
Gianluca