Aggiungo anch'io alcune considerazioni in merito alla prima parte di codice che ho letto:
1) getParameter() dell'oggetto HttpServletRequest ritorna già un oggetto String, quindi il cast è del tutto inutile.
2) Questa riga di codice non ha molto senso:
codice:
boolean wrongInput = userName != null && userName.equals("") && password != null && password.equals("");
Guardando solo alle prime due espressioni booleane in AND:
codice:
(userName != null) && (userName.equals(""))
Che succede se userName è nullo? Risposta: tutta l'espressione booleana sarà falsa. Quindi per te uno userName nullo NON RAPPRESENTA un valore errato.
Stessa identica considerazione per la variabile "password".
Ergo... se per caso userName o password sono nulli (basta anche solo uno dei due) tu vai a fare la query sul DB.
PS: se l'utente lascia in bianco un campo è molto probabile che quel campo NON venga inviato nella request, quindi getParameter() ritorna proprio null.
Rivedi quella condizione.
Ciao.