Bè un paio di considerazioni vanno fatte.
LE ECCEZIONI NON SI AMMAZZANO.....
codice:
       }catch(Exception e ){
            System.out.println("no studenti");
            System.out.println();
        }
Fatti sempre stampare lo stacktrace altrimenti come sta succedendo non hai modo di cosa possa succedere
Seconda cosa System.exit questa istruzione è già "distruttiva" in un ambiente applicativo normale figuriamoci su un servlet container....
Sistema queste due cose e vedrai che sul file di log del tuo server comparirà magicamente il motivo per il quale si verifica la situazione anomale