Maya,
Suggestion - Create an enterprise application using Net Beans and look at the organization for creating EJB & Web tiers.
You may want to separate your biz tier & web tier components under separate nodes.
Typically, I use something along the lines of the following organization, where my subdomain might be what you are referring to a module or might be a higher level of enterprise granulation for a large segment within a domain.
web ->
src.com.mydomain.subdomain.leafpkg.(delegate,model,controller)
web.com.mydomain.subdomain.leafpkg.(view) (
jsp, jsf pages)
ejb ->
src.com.mydomain.subdomain.leafpkg.(sessionfacade,service,dao,entity,etc)
The general rule of thumb is that a package should have on the order of 9 to 12 implementation units. Once you get above a dozen (i.e 15 to 20 and up),
you should consider different organization for better modularity. That metric goes way back to OO best practices by Booch et al.
Tomcat is a good server and is used widely.
As for your choice in technology, would suggest you do more research and evaluation before making a choice.
If JEE6 is an option, you may want to investigate GlassFish &
JBoss for AS, and other JEE6 technologies including JPA, JPQL and CDI. JPA can work with Hibernate but it provides a level of wrapping (abstraction) that makes it independent of Hibernate. In JEE6 you don't really need Spring any longer. CDI and Weld facilitate dependency injection within the JEE6 APIs with the benefit that it is an officially sanctioned API for
Java.
You may want to try out Net Beans 6.8 with GlassFish v3 to evaluate. It is pretty easy to work with.
You can also consider tools like beanwizard.com to generate components for rapid development