Cuando te refieres a aplicación web, supongo que hablas de JSP. Y sí, la mejor solución es usar bases de datos para todo: usuarios, passwords, roles, etc.
Pues hombre, que duda tan rara que tienes. Te lo pongo así: la mayoría de las empresas en las que entras como desarrollador, te exigen saber Java. La mayoría usa Java y .NET en sus desarrollos, y de hecho es lo que mejor está pagado.