Olá amigos, já sou um programador experiente em Java POO e gostaria de ingressar na área de Web. Achei uma apostila da Caelum bem interessante, porém não é meu estilo de estudo. Vocês teriam algo para me indicar(vídeo aulas, códigos básicos comentados e afins)?
Além disso, gostaria de saber também o que seriam as bibliotecas Jetty e TomCat, diferenças e qual melhor usar.
Há vários materiais espalhados pela net que dizem para começar por jsp, servlets, jsf, etc.
Não siga isso não.
A real é uma: se quer trabalhar com Java, aprenda Spring (Spring Boot, Spring Data, Spring Security, Spring Web(Serviços REST)).
Spring é o que tem de mais moderno e promissor no Java.
OBS: Fuja de Spring MVC. Spring MVC é um módulo do framework Spring que te auxilia no front-end com Java. Spring MVC é pouquíssimo usado. Não que não valha apena aprender, mas há outras coisas mais interessantes para se aprender no início
Como eu disse, o Spring MVC é um módulo do framework Spring para te ajudar no front-end com Java. Só que o mais usado hoje em dia não é essas abstrações que as linguagens backend fazem para gerar o front.
Então para gerar a View, você pode utilizar o combo de HTML, CSS e JS.
Na parte de JS, o React vem bem forte, mas tem o Angular e Vue também.
Pq te recomendei a não estudar Spring MVC? Pq não é usado no mercado de trabalho e acredito que você queira trabalhar com desenvolvimento, certo? Então não vejo motivo para utilizar o seu tempo estudando algo que não é usado sendo que você pode dedicar ele a outra coisa.
Como sou Freelancer, sempre procuro a alternativa mais produtiva, mais simples. Essa forma de trabalhar é mais produtiva do que utilizando apenas Spring mvc?
Se nao for SPA nao precisa se complicar usando projetos em Angular ou similares. Pode ter um único projeto ASP.NET Core usando a engine Razor pra view.
Prefiro Dapper do que Entity Framework, mas fica a seu critério.
Os puristas acham errado acessar o repositório direto da Controller. Em casos de consulta direta sem processamentos, eu acho burocrático ficar criando um método no service que vai chamar uma linha pra acessar o repositório. Então chamo o repositório diretamente onde for necessário, seja Contoller ou Service.