Te aconsejo que ya que trabajas con Session, te olvides del RequestDispatcher y uses el sendRedirect.
response.sendRedirect("dondequieras.jsp"); //sin la "/"
Cuando he visto el codigo, lo primero que he pensado es "peta en el ultimo if, fijo!", luego te he leído y voilà! Ahora, no me preguntes exactamente porque peta ahí, ya que me falta ver mas cosas.
Creo que tienes una redireccion en algun sitio no controlada, que provoca que vuelvas al Servlet teniendo uno de los dos campos a null, y por eso entras ahí, cuando no deberias.
Así a pelo, me es dificil verlo. Tendria que debugarlo xD
Pero haz la prueba de trabajar con los sendredirect.
ubstituye todo el trozo del requestDispatcher i el forward, por solo eso, response.sendRedirect(JSP).
Prueba a ver.