allora,per i programmi base ti serve la j2se.
trovi la versione 1.4.2 o 1.5 (mi sembra)
io uso la 1.4.2 perche' la 1.5 mi ha dato qualche fastidio di compilatore,quindi aspetto ancora un po' prima di passare definitivamente a 1.5

Per le applicazioni web ti serve j2ee (o almeno molti jar di questa,che puoi montare a parte sulla j2se)

per le applicazioni minime credo ti basti J2SE e l'api servlet.

Per le applicazioni web ti serve anche un servlet container (+ o - e' un web server).Io uso Tomcat 5.5. Ce ne sono anche altri volendo,ma tomcat credo sia il piu' diffuso.

per quel che riguarda l'IDE (interfaccia grafica di sviluppo),io uso oracle jdeveloper,e' gratuita e va benone.pero' nn ha ancora il supporto per JSF (versione 10g),ma comunque e' previsto per la la prossima versione.
l'instalazione ha gia' al suo interno la 1.4.2,volendo...

poi mi sembra che Eclipse sia gratuito,e per le applicazioni web dovrebbe esserci Eclipse4web.Mai provata pero' ho sentito che va bene.

Ciao
ps:buon divertimento