Você está na página 1de 3

Req:

Lightweight, Scalable & Pluggable Architecture


Presentation - Reusable Templates for generating Views
Ajax Support: Is it built-in and easy to use?
Bookmark-ability: Can users bookmark pages and return to them easily?
Validation: How easy is it to use and does it support client-side (JavaScript) validation?
Testability: How easy is it to test Controllers out of container?
Post and Redirect: How does the framework handle the duplicate post problem?
Internationalization: How is i18n supported and how easy is it to get messages in Controllers?
Page Decoration: What sort of page decoration/ composition mechanisms does the framework
support?
Community and Support: Can you get questions answered quickly (and respectfully)?
Tools: Is there good tool (particularly IDE) support for the framework?
Marketability of Skills: If you learn the framework, will it help you get a job?
Job Count: What is the demand for framework skills on dice.com and indeed.com?

Struts2:
Apache Struts 2 is an enterprise-ready web framework for Java application.No more ActionForms!
Use any JavaBean to capture form input or put properties directly on an Action class. Use both
binary and String properties! and its enhanced and rich tags
Pros:
Simple architecture - easy to extend
Tag Library is easy to customize with FreeMarker or Velocity
Controller-based or page-based navigation
Cons:
Documentation is poorly organized
No feedback for missing properties or invalid OGNL expressions
Googling results in Struts 1.x documentation

Spring MVC:
Speed development. Now so many Annotations are also included (v2.5). Its from SpringSource and
have a good support too. Being a person who likes and works with Spring framework.
Also Spring can integrate effortlessly with other popular Web Frameworks like Struts, WebWork,
Java Server Faces and Tapestry.

1. Spring provides a very clean division between controllers, JavaBean models, and views.
2. Spring's MVC is very flexible. Unlike Struts, which forces your Action and Form objects into
concrete inheritance (thus taking away your single shot at concrete inheritance in Java), Spring
MVC is entirely based on interfaces. Furthermore, just about every part of the Spring MVC
framework is configurable via plugging in your own interface. Of course we also provide
convenience classes as an implementation option.
3. Spring, like WebWork, provides interceptors as well as controllers, making it easy to factor out
behavior common to the handling of many requests.
4. Spring MVC is truly view-agnostic. You don't get pushed to use JSP if you don't want to; you can
use Velocity, XLST or other view technologies. If you want to use a custom view mechanism - for
example, your own templating language - you can easily implement the Spring View interface to
integrate it.
5. Spring Controllers are configured via IoC like any other objects. This makes them easy to test,
and beautifully integrated with other objects managed by Spring.
6. Spring MVC web tiers are typically easier to test than Struts web tiers, due to the avoidance of
forced concrete inheritance and explicit dependence of controllers on the dispatcher servlet.
7. The web tier becomes a thin layer on top of a business object layer. This encourages good
practice. Struts and other dedicated web frameworks leave you on your own in implementing your
business objects; Spring provides an integrated framework for all tiers of your application.
Pros:
Lifecyle for overriding binding, validation, etc.
Integrates with many view options seamlessly: JSP/JSTL, Tiles, Velocity, FreeMarker, Excel, PDF
Inversion of Control makes it easy to test
Cons:
Configuration intensive - lots of XML
Almost too flexible - no common parent Controller
No built-in Ajax support

Wicket:
Swing-like OO Component Model. This feature separates Wicket from all other frameworks
Pros:
Great for Java developers, not web developers Tight binding between pages and views Active
community - support from the creators
Cons: HTML templates live next to Java code Need to have a good grasp of OO The Wicket Way -
everything done in Java

JSF:
Because of its component architecture, the developer doesn’t need to mess with writing HTML,
JavaScript etc to get rich “AJAX” type of functionality. It also takes care of state and event
management. It has very less configuration too.it simplifies development by providing a
component-centric approach to developing Java Web user interfaces.
Pros
* Java EE standard with lots of demand and jobs
* Initially was fast and easy to develop
* Loads of component libraries
Cons
* Tag soup for JSPs
* Lacks unified source for implementation
* Doesn't support REST or Security well

Stripes:
No Configurations. Annotation based programming makes coding more interesting and easy. The
web framework offers a lot of complex data interactions.
Pros:
No XML - Convention over Configuration
Good documentation (easy to learn)
Enthusiastic community
Cons:
Small Community
Not as actively developed as other projects
Hard-coded URLs in ActionBeans

Tapestry:
It is an object oriented powerful, open-source, all-Java framework for creating leading edge web
applications in Java.
Pros:
Very productive once you learn it
Templates are HTML - great for designers
Lots of innovation between releases
Cons:
Documentation very conceptual, rather than pragmatic
Steep learning curve Long release cycles -
major upgrades every year

Why use Spring?

All frameworks integrate well with Spring.


Spring offers an open yet structured framework, using dependency-injection, a type of inversion-of-
control to integrate different technologies together.
Consistent Configuration, open plug-in architecture
Integrates well with different O/R Mapping frameworks like Hibernate
Easier to test applications with.
Less complicated then other frameworks.
Active user community, many new books coming out.

Você também pode gostar