Salve, io ho realizzato un login in jsp. Quando un utente si logga viene reindirizzato nella pagina di main. Una volta reindirizzato al main, bisogna ricordare chi si è loggato? Come faccio?
Salve, io ho realizzato un login in jsp. Quando un utente si logga viene reindirizzato nella pagina di main. Una volta reindirizzato al main, bisogna ricordare chi si è loggato? Come faccio?
Se intendi ricordarlo finchè non chiude il browser usi le sessioni.
Se intendi ricordarlo la prossima volta che entra nel sito, usi i cookie.
Ciao.![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
Esiste l'interfaccia HttpSession nel packages javax.servlet.http
Se ad esempio voglio ricordarmi dell'utente che si è collegato dovrei ricavarmi l'ultimo utente collegato e assegnarlo a delle variabili di sessione giusto? Però non so come si fa. Mi postate qualche codice di esempio?
Per questo genere di cose esistono guide e manuali, senza i quali non andrai da nessuna parte perchè l'argomento è vastissimo.
Ad ogni modo, quando un utente entra nel tuo sito puoi creare una sessione (oggetto HttpSession) e, per ciascuna pagina del sito, controllare se l'utente è loggato o meno. Per fare questo si fa, grossomodo, quanto segue:
Ora, per ciascuna pagina, dovrai controllare se l'utente è loggato: ottieni la session sempre con getSession() e controlli l'attributo:codice:// ... qui effettui la login // Ora crei la sessione e inserisci in essa il riferimento al (ad esempio) user-id: // L'oggetto request è la HttpServletRequest HttpSession s = request.getSession(); s.setAttribute("user-id", new Integer(userId)); // Suppongo che userId sia un intero
getSession() recupera la sessione attiva, se esiste. Altrimenti la crea.codice:HttpSession s = request.getSession(); Integer user = (Integer) s.getAttribute("user-id"); if (user != null) { // L'utente è loggato } else { // L'utente non è loggato. }
Ciao.![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
Ok... ma l'int userId come lo inizializzo? un intero qualsiasi?
Come ti consigliava LeleFT, parti dal manuale (tra l'altro se non ricordo male, proprio qui su html.it - sezione siti -> java, c'è una guida a JSP in cui vengono spiegate le sessioni)... le sessioni, in tutti i linguaggi server side, sono "personali", ossia tra il client e il server. Nel momento in cui l'utente "chiude" il browser, il server si dovrebbe sbarazzare dei relativi dati di sessione, che ripeto sono personali e condivisi - salvo bug di configurazione - tra client specifico e server.Originariamente inviato da latindance85
Se ad esempio voglio ricordarmi dell'utente che si è collegato dovrei ricavarmi l'ultimo utente collegato e assegnarlo a delle variabili di sessione giusto? Però non so come si fa. Mi postate qualche codice di esempio?
Se invece vuoi che i dati permangano anche alla chiusura del browser, dovrai usare i cookies. I cookies vengono salvati nella macchina client e da lì riletti dal server.
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
E che ne so... era un esempio.Originariamente inviato da Ciccio32
Ok... ma l'int userId come lo inizializzo? un intero qualsiasi?
Puoi memorizzare il nome utente se preferisci, questo lo decidi tu. Che ne sappiamo noi di come fai tu ad identificare un utente. Solitamente c'è un DB con una tabella degli utenti e ognuno di essi ha uno User ID che lo identifica. Ora, come facciamo noi a sapere come fai tu ad identificare gli utenti? Avrai da qualche parte una tabella con gli utenti che possono loggarsi. E posso immaginare che per loggarsi debbano inserire un nome utente e una password. Se i nomi utenti sono univoci allora puoi usare il nome utente al posto dello userId che io ho usato nell'esempio.
Ciao.![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
ah ok ok!![]()
Pensavo avessi inizializzato l'userId in un 'altra maniera.... non avevo capito fosse una delle colonne della tabella.... ok... grazie delle info!![]()