A estas alturas no te vas a poner a cambiar todo el código, eso esta claro jejeje. Lo importante es aprender para futuros proyectos.
Las validaciones no deben hacerse en el servlet por un motivo muy sencillo: ¿qué pasaría si quisieras hacer uso del método registrarse() en otro lugar del código? Podrías llamar al método sin hacer las comprobaciones y eso sería un problema. Evidentemente si solo programas tú no pasará nada porque no provocarás ese tipo de fallos, en cualquier caso repetirías código para validar, y eso si está mal programen 1 o 10 personas juntas.
Modificar los servlets y mover el código de las validaciones al sitio correcto puede ser algo muy costoso y si no tienes tiempo no hay que ponerse a hacer ese tipo de cambios. Lo mejor es que incluyas el servlet en el diagrama de secuencia. Para el caso de registrarse el diagrama sería bastante sencillo:
-El servlet llama al método validarDNI de Validador y después al método buscarUsuario de Validador, si el DNI es válido y no existe el usuario entonces llama al método registrar de Usuario.
Para que te hagas una idea de como sería si las validaciones estuviesen en la clase Usuario:
-Se llama al método validarDNI de Validador y después al método buscarUsuario de Validador, si el DNI es válido y no existe el usuario entonces se registra el usuario.
Para el caso tuyo (el del servlet), dibujarlo serían las 3 líneas verticales correspondientes a los 3 objetos (servlet, Validador y Usuario) y las correspondientes flechas entre ellos que representan las llamadas a los métodos.
He encontrado este ejemplo que se ajusta bastante al aspecto que deben tener tus diagramas de secuencia:
Lo que sale como InterfaceUsuario seria el servlet para que te hagas una idea más exacta.