The REST (Representational State Transfer) architectural style for web applications was first put forward by Roy Thomas Fielding ( http://roy.gbiv.com/pubs/dissertation/top.htm ) in 2000, but in its essence it's a rediscovery of the merits of the good old HTT protocol. JSF applications, though, normally don't conform to the HTTP specification at all.
The basic principles of the HTTP are:
HTTP is stateless.
Each resource (page, article, shopping item, business object etc.) that is accessible via HTTP is being uniquely identified by its URI .
Resources are being accessed via specific verbs, each of which designates the type of the requested interaction with the resource:
The resources can be requested in specific content types, as needed on the client.
RESTful web applications conform to these principles, thus guaranteeing uniform access to resources regardless of their location, enabling easy integration and loose coupling between applications. Building on that, RESTful web applications make it easy to provide device-specific responses and search engine optimized URL s.
With JSF-Spring 4.0, we have worked hard to address these concerns and make JSF applications more RESTful. With JSF-Spring's new form and link components, you now can:
Replace POST with GET requests where appropriate.
Reduce state saving information and even eliminate it, making for leaner pages and applications.
Re-enable the expected navigation behaviour of your application.
Provide search engine friendly URL s for pages and actions.
[*] Since most clients don't implement these verbs, they are being simulated by POST requests.