Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di bobc
    Registrato dal
    Feb 2004
    Messaggi
    245

    [OT]consigli per gestione di più sessioni in jsp

    ciao a tutti,

    vorrei sapere se, nelle servlet java, si può fare la gestione di più sessioni in contemporanea. Ad esempio due persone stanno utilizzando il carrello della spesa di un negozio. Ogni carrello, ovviamente, deve contenere solo i prodotti che ha ordinato l'utente che fa parte di quella sessione. Io ho tentato di fare questo in vari modi, ma faccio sempre lo stesso errore: quando una persona ordina dei prodotti (persona X) e poi subentra un altra persona, (persona Y) e la persona Y inizia ad ordinare un prodotto, il carrello della persona Y dovrebbe contenere un solo prodotto, ma (nel mio programma) dopo che questa ordina un prodotto, il carrello aggiunge anche i prodotti ordinati dalla persona X. (e così di seguito per tutti gli altri utenti). In poche parole non riesco a rendere indipendenti le sessioni, poichè la variabile HttpSession alla creazione di un nuovo utente viene sovrascritta.
    Sapreste indicarmi degli esempi o dei consigli su come fare questo?
    Se non sono stato abbastanza chiaro posso postare il codice della servlet.
    Grazie per ogni eventuale risposta.

  2. #2
    Utente di HTML.it L'avatar di bobc
    Registrato dal
    Feb 2004
    Messaggi
    245
    Ecco il codice: (naturalmente ho preferito non metterlo tutto, ma solo la parte iniziale che è quella fondamentale)

    codice:
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.util.*;
    import java.sql.*;
    
    
    public class ClienteServlet extends HttpServlet{
     protected HttpSession session;
     protected JdbcConnessioni jc;
    
    
     public ClienteServlet(){
     }
    
     public void init(ServletConfig config)throws ServletException{
      super.init(config);
      jc=new JdbcConnessioni();
     }
    
    
    
        public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException {
         response.setContentType("text/html");
         PrintWriter out=response.getWriter();
         JdbcMagazzino jm=new JdbcMagazzino();
         TabellaClienti tc=new TabellaClienti(jm);
         session=request.getSession(true);
         AnteprimaPreventivo test=(AnteprimaPreventivo)session.getAttribute("prev");
         String comando=request.getParameter("comando");
         String user=request.getParameter("user");
         String password=request.getParameter("password");
         if(comando.equals("Login")){//il cliente fa il login
       if(tc.getJdbcMagazzino().loginValido(user,password)&&!jc.esiste(user)){
        session.setAttribute("user",user);
        AnteprimaPreventivo ap=new AnteprimaPreventivo((String)session.getAttribute("user"));
        session.setAttribute("prev",ap);
        ((AnteprimaPreventivo)session.getAttribute("prev")).getIntestazione().scriviCliente((String)session.getAttribute("user"));
        jc.aggiungi(user);
        response.sendRedirect("C:\\MPrevServer\\framegestPrev.html");
       }
       else if(!tc.getJdbcMagazzino().loginValido(user,password)&&!jc.esiste(user)){
        response.sendRedirect("C:\\MPrevServer\\loginnonvalido.html");
       }
       else if(jc.esiste(user)){
        response.sendRedirect("C:\\MPrevServer\\logineffettuato.html");
       }
      }
      else if(comando.equals("submit")){
                           ...
                    } 
    ...
    }

  3. #3
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Come le fai le prove? Se usi due browser diveri sullo stesso pc o pc diversi non dovresti aver prbomei, in cao contrario per dar vita ad una nuova sessione deve esserci un'operazione di logout dell'utente corrente e di login di un nuovo utente a cui deve corrispondere l'operazione di distuzione della sessione corrente e la creazione di una nuova HttpSession cosicchè tutti gli oggetti della precedebte HttpSession vengano distrutti

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

  4. #4
    Utente di HTML.it L'avatar di bobc
    Registrato dal
    Feb 2004
    Messaggi
    245
    Ho provato con due browser diversi, ma non va. Comunque penso che possa bastare. Grazie e auguri di buon anno

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.