Fala Cícero, tudo bem ?
Clonei seu projeto por aqui para testar.

Adicionei a uma instância local (localhost:8080) do Tomcat 8 - mesmo usado no curso - e tudo funcionou. Só havia um problema na String de retorno do controller de produto no método gravar()
:
@RequestMapping("/produtos")
public String gravar(Produto produto){
System.out.println(produto);
return "/produtos/ok";
}
Aqui não se pode colocar a barra inicial, dado que o InternalResourceViewResolver já configurou o prefixo para /WEB-INF/views/
. Caso a barra seja passada como retorno o endereço resultante seria /WEB-INF/views//produtos/ok.jsp
(duas barras) o que daria problema.

OBS: Só mudei o contexto para /casadocodigoo
pra diferenciar de um projeto que já tinha o nome casadocodigo e adicionei um log properties pra ter mais detalhes na inicialização da aplicação sendo apresentados no console.



Dê uma olhada na sua configuração do servidor, em qual contexto ele está subindo a aplicação. Do ponto de vista de código esta tudo normal.
Espero ter ajudado. Abraco!