Hi, I'm a beginner in the J2EE field. I've already learnt the basics of Java programming and now I'm moving on to web development. What I want to know is if I could skip learning JSP/JSF, servlets, EJB, JPA etc if I learn Wicket, Spring and Hibernate.

I'm still not very familiar with how this web stuff works, but I plan to use Wicket for presentation, Spring for middle tier and Hibernate for persistent. Am I on the right track? Do I need to learn things like sockets, networking and EJB if I want to develop a large scale application like Digg or Foursquare etc...

Are there any things I should take note of? I'm trying to have the most efficient, productive and complete stack. Please guide me. Thanks!

[EDIT]: Is Wicket & Spring overlapping in function? I prefer maximum control over HTML.

You wouldn't need JSP/JSF if you going with Wicket. You will need little background on servlets so you set up listeners and perhaps sessions. Little background on JPA wouldn't hurt either.

For Wicket I can recommend Wicket in Action, resources Apache Wicket (documentation, pom builder, examples) and wicket-quickstart

PS: At the moment I'm working on Wicket project with Hibernate, just google volareweekend

Thanks for your response, I've got another question. I've heard a lot about middle tier architecture and Spring. Is Spring use to tie Wicket and Hibernate together? If so, is it a good choice?
Would you recommend Wicket or JSF in terms of productivity, efficiency and modernness.

I cannot comment on Spring as I never use it. It is possible to find number of examples tying these 3 together, but it will be your job to explore that if you decide to go in that direction.
I would recommend Wicket, but again this will be based on brief encounter with JSF. Wicket keeps HTML file changes to minimum

What about EJB3, will it be sufficient for me to build a full-scale application along with Wicket and Hibernate?
This MVC thing is a bit confusing to me. Does EJB take care of the middle tier like other frameworks such as Spring? And will it integrate well?

After some research I've seen many people comparing EJB with Hibernate and with Spring. Does this mean that EJB handles the middle tier and persistent? If so, does it integrate well when I use Wicket for presentation instead of JSF? And does EJB handle ORM well like Hibernate? Also, does Wicket have MCV, IoC, DI etc... and handle the middle tier?