If you are looking for ways to improve your portal user experience via web 2.0 capabilities, you will be happy to know how simple it can be to use the JSR 286 Resource Serving feature with Spring MVC and Annotations to provide these capabilities. JSR 286 Resource Serving works like a servlet, but runs in the portal context (has the same access to portal session and properties that portlets do) and is used extensively for web 2.0 capabilities like: Increasing perceived page load time by allowing the portlets to render then asynchronously loading the data within the portlet page, performing asynchronous callbacks in your application for dynamic selection lists, dynamically showing detail data based on user input or selection without a full page refresh, letting the user know that you are processing their request, etc.
There are many steps to set up the needed configuration for Spring (I will outline below), however, once configuration is complete you will only need to annotate your method in the controller and call the resource. The annotation for a method in your controller that will be called asynchrously will be annotated with the @ResourceMapping annotation and calling the resource by using the tag <portlet:resourceURL></portlet:resourceURL> in your jsp.
This article will provide a sample portlet and outline the key configuration needed to create a simple Spring MVC portlet that leverages JSR 286 Resource Serving via annotations. It will be important to download and walk through the code with this article as it is very difficult to cover every aspect in a short concise way. Many times the code is more helpful than words, however, I hope that my descriptions and diagrams will help in adopting Spring MVC.
Additional details on the Spring MVC framework can be found here: http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/portlet.html


