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

Codice PHP:
String dst request.getParameter("destinazione"); 
int indice 0;//valore di default 
try{ 
     
indice Integer.parseIntdst ); 
}catch(
NumberFormatException e){} 
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".

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.