RE:bloqueo de no registrados
Pues muy fácil. Haces una jsp usuario, password. Submites a un servlet. Haces la búsqueda en la BBDD de las tablas de usuario.
HttSession sesion = request.getSession(true);
String mi_usuario = sesion.getParameter("usuario");
String mi_contrasenia = sesion.getParameter("contrasenia");
SELECT * FROM tabla_usuarios WHERE usuario = mi_usuario AND password=mi_contrasenia;
Si el resulset me devuelve nulo es que no ha habido ninguna entrada por lo que el usuario no existe entonces le devuelves directamente a la página de inicio y/o previamente le mandas un mensaje diciendo de que usuario o password no existen...