Davvero c'è quella sbrodolata di roba dentro una JSP? O_O

Comunque non mi pare ci sia nulla di strano in quel codice per quanto riguarda il Calendar ma ti consiglio di confrontare il DAY_OF_WEEK con la sua costante e non con un numero arbitrario.
Ad esempio, quando fai
giorno.get(Calendar.DAY_OF_WEEK) == 1

cosa stai verificando? Che il giorno presente in "giorno" (pessimo nome per una data...) sia domenica?
Allora fai così, no?

giorno.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY

Non cambia nulla ma è sicuramente più leggibile.

Riguardo il tuo problema: se sul tuo pc oggi è domenica ma per il server è lunedì... verifica che non ci siano impostazioni strane attive (fusi orari, ora legale ecc)