Hi,
Soon I will have to start a web project for a company, and I now need to choose a technology to build the app. I'm thinking about using Java, hence I'd like to find a framework that will help me building the app (I'm used to PHP framework such as CakePHP & CodeIgniter).
What I don't understand is that it seems to exist a lot of framework and technologies that don't have the same goal. Action framework, Component framework ... what can I do with one I can't do with another ? It seems a java web app should be developped by mixing a lots of different technologies, hence I'm a bit lost ... I've had a look at differents java frameworks, such as JSF, Stripes, Struts2, Tapestry, Wicket and Spring. About the later, I don't quiet see what are the different parts of this framework, what can it do for me and what it can't. What can I take from Spring and what I don't need...
Hence : what do I need to build a java web application ?
I've already used JSF for a basic CRUD app, but I'm trying to find something that may better suits my need. The app we'll have to build will be both a community platform as well as a merchant site, with sensible datas to protect :)
About the ORM, I guess I'll just go with Hibernate ... Also I've heard about Maven or Ant, in what way can they help me ?
Any advice/guideline would be much appreciated :-) Thanks in advance.
Edit : what my needs are : a java framework that is :
- well documented / easy to get help / as easy as possible ...
- the more java, the better
- Ajax friendly / Facility to build nice UI ...
- Internationalization
- Still being a student, Marketability of Skills might matters ...
The app to be build is both a
- Community site : web 2.0, CRUD
- E-commerce site
full specs aren't finished yet.