I just finished my degree and I want to learn something about web development in Java. Mainly because I think there's a lot of demand from the companies and because it seems like an interesting field.
I've been reading a couple of books about Struts 2, because I saw that Struts 1 was the most popular framework, and the most used in the companies. Of course, I already knew about JSP and servlets, and I have used a bit of Hibernate too (although it gave me some head aches and I don't remember too much). I also read a bit about EJBs for some subject in my degree.
Anyway, the question is: what technologies do you think that I should learn?
I saw that Struts 2 doesn't have too many tags to create user interfaces, and I heard that JSF is very strong in this point. Should I learn something about the view layer of JSF to combine it with Struts 2? Should I learn something else altogether? which is the most used technology for the view in the companies right now?
And for the persistence? what do you advise, always from the point of view of the companies? Hibernate? JPA? plain JDBC?
That depends whether you wanna go for the standard or the open source way.
Standard: JSF + EJB (this includes JPA)
Open Source: Spring + Hibernate + (pick your own web framework, be it Wicket, Stripes, Tapestry, Struts, Spring MVC, etc).
The trend now is going for Spring + Hibernate. But I leave it to you to decide. All the best!
SCJP 5.0, SCWCD 1.4, SCBCD 1.3, SCDJWS 1.4