Seria interessante na sua lógica vc colocar no banco um campo de Status do usuario. Ao se cadastrar o candidato tem o status=invalido. No corpo do email, vc passa um link da página que trata a validação com o status=validado como parametro.
Cara eu pensei nisso, o banco já tem o campo habilitado que inicia como 0 para não habilitado e assim que a inscrição for validada ele terá o valor -1.
O problema é justamente criar esse link. Como fazer.
O q fiz aqui semanas atras foi simples, mas atendeu minha necessidade.
Ao cadastrar o usuario mando um email pra ele com o link da action(usei struts) q altera o campo status no bd e um código aleatório q crio na hora do cadastro (poderia ser a pk do bd tbm):
Ricardo bom dia! você pode enviar um exemplo de como fez o cadastro com a confirmação do email?
estou desenvolvendo em java e preciso fazer um exemplo como esse seu mas estou meio perdida uma vez que sou iniciante em java e nao encontrei em lugar nenhum um exemplo.