Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Spring ---- JSP

Galera, tudo bem ? Bom sou iniciante ainda, porém meu primeiro contato foi com Spring...

E estou um pouco confuso em relação ao fluxo do JSF... Onde no SPRING, a parte do MVC é bem explicita, onde a controller fica cm a regra de negocio, e também ao mesmo tempo faz a chamada das views...

E na JSF, essa parte do LivroBean, AutorBean, fiquei pouco confuso, pois em qual momento esta chamando tal pagina ( View/xhtml), ou onde realmente fica os metodos com as regras de negocios...

Alguem poderia fazer um resumo, pq a didatica do curso sinceramente esta um pouco rapida e um pouco antiga do qe estou acostumado com os cursos novos da alura... (Inclusive poderiam atualizar esses cursos rsrs)

Mas resumindo, um breve auxilio pra entender essa parte dos Beans, e a diferença entre JSF e Spring...

Obrigado pessoal !!!

2 respostas
solução

Olá, Bruno!

A diferença entre Spring e JSF é comumente explicada como MVC Push / Action based em contraste com MVC Pull / Component based.

O Spring é o MVC Push, também conhecido Action Based. As requests HTTP chegam no Front Controller (a DispatcherServlet no caso do Spring) e, de acordo com a URL, é repassado para o @RequestMapping adequado de um @Controller.

Esse Controller, interage com outros objetos (Model) e busca os dados. Esses dados são repassados para a View, a JSP.

Esse termo MVC Push, vem do fato dos dados serem "empurrados" do Controller para a View. A View não busca dados, os dados são oferecidos para a View.

O termo Action Based, vem do fato de cada request é uma ação do usuário, que dispara uma lógica no Servidor. A maioria dos frameworks, inclusive de outras linguagens, usa esse modelo: VRaptor, Ruby On Rails, Laravel, Django, etc.

MVC Push

Já o JSF, usa um modelo diferente. A ideia é que a View (o xhtml) vai buscar os dados do Controller (o @ManagedBean). O @ManagedBean vai interagir com outros objetos (Model) para obter os dados solicitados pela View.

O termo MVC Pull vem do fato de a View "puxar" os dados do Controller.

Já o termo Component Based, vem do fato de a maioria desses frameworks terem componentes mais ricos para a View, como datatables, gráficos, dashboards, etc. Como os componentes são mais complexos, eles buscam os dados que precisam.

Frameworks MVC Pull / Component Based são mais raros. Conheço o JSF e o Wicket. De outras linguagens, me lembro apenas do antigo ASP.NET Web Forms, que tentava simular o modelo de programação Desktop (componentes stateful) só que para aplicações Web.

MVC Pull

Referência: http://blog.caelum.com.br/entenda-os-mvcs-e-os-frameworks-action-e-component-based/

Alexandre, muito obrigado pela explicação, agora realmente ficou bem claro e menos confuso... Abraço !!