MVC em um mundo Java do Google App Engine

Estou voltando para Java do C # & ASP.NET MVC, adoraria encontrar um equivalente no mundo Java que pudesse usar no Google App Engine. Eu já comecei a brincar com FreeMarker e até deu os primeiros passos para escrever uma estrutura muito simples. Idealmente, eu não teria que fazer todo o trabalho duro, alguém já deve ter feito isso! Portanto, minha pergunta é: quais estruturas existem para mim que seriam familiares do ASP.NET MVC e eu poderia usá-las no Google App Engine para Java.

As principais coisas que eu gostaria são:

Roteamento Simples - /products/view/1 é mapeado para a ação de visualização do controlador de produtos com o ID do produto 1Template Engine - uma maneira de passar facilmente 'ViewData' para a visualização e, a partir da visualização, acessá-lo facilmente, idealmente, eu adoraria evitar qualquer coisa que seja muito XMLy (por isso, gosto de FreeMarker).

questionAnswers(5)

yourAnswerToTheQuestion