Se l'unico problema è legato al fatto che ti arriva un valore null per un parametro e tu conosci il valore di default per quel parametro puoi sempre settarlo a priori
considera anche che è possibile richiamare l'url ".../Servlet?act=pippo" non attraverso un browser e la form da te definita ma attraverso uno script (in grado di mantenere la sessione). A titolo di esempio esiste la classe WebConversation nelle API HttpUnit in grado di mantenere la sessione, di trovare una form(WebForm) all'interno di una parina web e di richiamarne la servlet definita nell'attributo action in modo molto semplice. In questo modo si può facilmente richiamare la tua servlet all'interno di una sessione attiva sul server evitando di inviare il parametro "destinazione".Codice PHP:String dst = request.getParameter("destinazione");
int indice = 0;//valore di default
try{
indice = Integer.parseInt( dst );
}catch(NumberFormatException e){}
Ultimo scenario possibile che mi viene in mente per il tuo problema, soprattutto se usi i Filtri o meccanismi di autenticazione basati su Realm, è che qualcuno apra la sessione, si porti sulla pagina successiva alla form, faccia scadere la sessione e clicca su "aggiorna" ; non ho verificato ma secondo me potrebbero esserci problemi.

Rispondi quotando