Comunicação entre camadas MVC

Saudações,

Estou definido pela primeira vez uma arquitetura de um sistema WEB, pretendo utilizar MVC2, mas não estou satisfeito com o STRUTS.
A minha insatisfação se deve ao fato de que no projeto da camada VIEW é necessário referenciar as classes da camada CONTROLER para que o Struts faça a ligação entre as camadas. Não gostaria de ter referencia alguma.

Minha intenção é ter a camada VIEW sendo renderizada em um servidor e a camada CONTROLE/MODEL em outro servidor.
Pelo que estudei o STRUTS não permite fazer isso.

Gostaria de atingir o meu objetivo sem ter que utilizar um WEB SERVICE para fazer a ligação entre as camadas, pois com ele eu teria um overhead desnecessário.

Minhas dúvidas são:

  • Alguém conhece algum framework que faça esse trabalho para mim?
  • O Struts faz isso? Se sim, onde posso achar material para isso (procurei e não achei nada).

Não entendi a parte da “View estar referenciando classes do Controller”. Normalmente não há um acoplamento tão forte por esse lado, a menos que seja Beans(ou nem assim, já podem ser da Model). Pode nos dar um exemplo disso?

No arquivo struts.xml tem a seguinte configuração:

No meu JSP, tenho o seguinte código:

Isso é uma referência direta a um .class que está no meu projeto.
Não vejo problema em fazer essa referência, só não gostaria que o class esteja no meu projeto, ou no meu classpath.
Gostaria que o sample.HelloWorld pudesse estar em outro servidor.

É possível isso com Struts?