JSP/SERVLETS. Como começar?

Sou programador Java há algum tempo e estou querendo desenvolver aplicações web porém, tenho algumas dúvidas:

O que é nescessário para se desenvolver para web com JSP/Servlets/EJB?
Eu devo usar o J2SDK ou o J2EE?
O que é o JBoss?
Qual a diferença entre o Tomcat e o JBoss?

O que seria nescessário para se desenvolver um aplicativo web empresarial?

Olá

Siga a seguinte trilha sem pressa:

  • Servlets e http. Aprenda também a instalar e configurar o Apache.
  • tomcat (tomcat serve mal páginas estáticas html e páginas dinâmicas criadas pelos servlets). Não instale o tomcat no Windows com o pacote .exe. Use o tar.gz porque assim você já aprende como funciona em todos os ambientes.
  • jsp e velocity
  • jdbc e hibernate

Com isto você já consegue desenvolver qualquer coisa. Mas seria bom aprender a usar um framework do tipo Struts, webwork, vRaptor ou Spring. Para relatórios vai precisar do jasperreports e do iReport. Em todo canto vai trombar com xml.

Use j2sdk. Para testar os servlets é preciso de uma API que vem junto com o tomcat.

O JBoss serve EJBs e outras coisas mais que você pode deixar para o futuro.

[]s
Luca

Mas eu consigo usar EJB no tomcat ou só no JBoss?
E no JBoss eu também consigo usar Servlets?

Olá

Se você já quer usar EJBs é porque já sabe muito bem aquela trilha toda que citei. Então nesta caso vai precisar mesmo do JBoss ou similar.

Pelas suas dúvidas pensei que você ainda ia aprender o básico do desenvolvimento web que é a trilha citada. Mas se sabe tudo isto como ainda tem dúvidas se o JBoss serve ou não servlets? É claro que o JBoss tem um servlet engine acoplado a ele que pode ser o Tomcat ou o Jetty.

[]s
Luca

Ok, vamos lá…

Aprender a API e parte da especificação J2EE, que define JSP, Servlets e EJB.

Aconselho você usar uma boa ferramenta IDE, tipo Eclipse (com plugins), JBuilder, JDeveloper, NEtBeans, etc…

Ambos!

Servidor de aplicações J2EE.

Tomcat é apenas um Web Container, ou seja, roda apenas JSP e Servlets. Para EJB, JMS, etc, vc precisa do JBoss.

Tudo isso acima!

Xinguem-me, surrem-me, joguem tomates, mas eu vou ter que discordar deste mantra de “aprenda a spec”. A questão é: você quer aprender a fazer ou aprender a usar?
Se você estiver interessado apenas em ganhar dinheiro facilmente, desenvolvendo as coisas bem rapidamente, sem se importar muito com arquiteturas belíssimas ou inovações (ou seja, quer aprender a usar), esqueça especificações, aprenda o mínimo necessário sobre JSP/Servlets e escolha logo um framework para ajudá-lo no dia-a-dia. Webwork, Struts, Spring, vRaptor, AppFuse, qualquer um! Use “receitinhas de bolo” e seja feliz. Você não vai se tornar um programador melhor, mas vai conseguir se virar e ganhar uns trocos.
Mas se você estiver mais interessado em saber como as coisas funcionam debaixo dos panos, então paciência: leia aquele montão de especificação (que são tão sonolentas quanto as teses do povo do ICMC) e siga os demais passos que o Luca falou.
Mas, de qualquer forma, treine bastante.