Buonasera a tutti
sto facendo un carrello della spesa che inizializza e gestisce una synchronized list.
Funziona perfettamente all'interno di una singola sessione.. ma quando riavvio il browser e vado per visualizzare tale lista è vuota.. non son oriuscito a trovare una soluzione però ho capito che ogni volta che avvio il browser il bean viene creato di nuovo
posto il codice
codice:@Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { carrelloLocal carrello=null; HttpSession session = request.getSession(); //recupero il bean del carrello se è stato già instanziato String username= (String)session.getAttribute("username"); carrello = (carrelloLocal)session.getAttribute("carrello"+username); System.out.println("PROVO A OTTENERE CARRELLO "+username); if(carrello == null){ //creo una nuova istanza del bean, //carico il context del mio application server e faccio richiesta di un nuovo bean carrello = lookupcarrelloLocal(); session.setAttribute("carrello"+username, carrello); System.out.println("CREATO NUOVO CARRELLO "+username); } List<Prodotto> lista=carrello.getCarrello(); session.setAttribute("listacarrello", lista); getServletContext().getRequestDispatcher("/visualizzaCarrello.jsp?listacarrello=listacarrello").forward(request, response); //aggiorna il carrello }

Rispondi quotando

