Quote Originariamente inviata da andbin Visualizza il messaggio
Come stavi facendo, con UNA variabile (che oltretutto come ho detto prima è in UNA sola istanza della servlet) proprio NO. Se avessi 2, 3, 4 ecc... utenti che stanno gestendo contatti con Id differenti? Dove li tieni questi Id?

Una possibilità sarebbe tenere il Id nella sessione. La sessione è "per client". Ma non è comunque perfetta/ottimale come soluzione. L'utente potrebbe fare il furbo e tenersi 2 schede del browser aperte che condividono la stessa sessione e in una gestire un contatto con un certo Id e nell'altra scheda tentare di gestire un altro contatto. Avresti lo STESSO problema.


La soluzione pulita e corretta è davvero semplice: il doPost riceve il contactId insieme agli altri parametri, che dovrà ovviamente essere inviato dal updateContact.jsp.
Tutto qui.
Grazie per la risposta.
Sono felice di leggere nelle tue parole (dette da uno certamente più esperto) alcune delle considerazioni che avevo fatto.
Anche io avevo valutato la possibilità di aggiungere un attributo di sessione ad hoc, ma ho scartato questa soluzione perché ho ritenuto che non fosse una buona idea infarcire la sessione di attributi, specie con quelli che hanno una brevissima sopravvivenza.
Quindi, prima di decidere (sbagliando) per il campo privato della servlet, mi sono chiesto: può updateContact.jsp, che riceve l'id del contatto tramite URL, passare quel medesimo id al metodo doPost della sua servlet, insieme ai parametri contenuti nel form per modificare i dati?
Lo si potrebbe fare, per esempio, usando del semplice codice JSP?

Grazie.