I'm currently confused about the many options concerning developing Web Applications with Java. I've worked on some Java programming using Servlet/JSPs only, in the past most of my work was on PHP.
I'm trying to select a good base for me to start. The options I've considered are the following:
Option 1. Pure JSP/Servlet programming with Hibernate for the Back-end.
Problems: Maintaing a web.xml for every servlet, strict types, needing to recompile and restart tomcat everytime a change is made, lots of code.
Option 2. Groovy on Grails
Problems: Still not a mature technology, might be difficult to debug, might turn out to be slow.
Option 3. Web Application development using the Spring Framework Problems: Seems like a chubby framework. Skeptic about it, I dont want to be limited by a framework that covers everything, I prefer using small vertical libraries like Guice, Hibernate, JSP/Servlet.
Out of my scope: JSF, Struts, Tapestry. Those three I didn't feel comfortable reading about or using.
I need help, can anyone please provide me a relieving answer to the above? Thanks.