Model View Controller (MVC2:- change in the model doesn’t cause a change in the view)
Tiles: Common look and feel
No rich UI Components.
All the logic is in the action classes and so tighly coupled
Struts screens can’t be rendered in different manner on a computer screen and pda.
Rich UI Components: – There would be classes for buttons and other things and we get a lot of rich UI functionality
All the navigation logic is in the faces-config.xml file and so loose coupling
There is a renderer class so the look and feel of the jsp page would be different in the pda and computer screen
JSF will give a identifier to each view and so the next time the request is made the view is already in the cache and so fast access
Very rich validations can be written and no need to create separate xml files for them like struts. All things are done in the faces-config.
Dependent on using JSPs like Struts
There is no Tiles framework like Struts for look and feel.
3) Spring MVC:
Very rich Spring tags
View Agnostic: The JSP’s can be replaced by Velocity,PHP and other things.
It has different types of controllers like SimpleFormController,CommandController and all and each does a
No workflow like arrangement.
4) Spring Webflow:
Workflow is defined in one xml file
Variables can be passed from one page to other without one explicitely coding anything.
ORM: Object Relational Modelling
In Hibernate there is caching either at the session level or the sessionFactory level. We can also add furhter caching.
By changing one line in the xml file one can change the database and the code is unchanged.
HQL is simpler than SQL.
We can improve the performance by having suitable loading and fetching strategies(should the dependencies be loaded all at once or in batch)
We have the inbuilt database and plus functions for debugging.
What if we don’t know the entire table structure?
As it makes use of xml sometimes there are portability issues.
and which method before bean is destroyed(destroy-method).
2) Has many modules(7) and so things can be plugged in
For all users to have uniform project structure
Jar files are kept in repository and so one need not add them to cvs
pom.xml is easier to edit
8) Restful webservices:
Definitely faster and easier to develop.